public boolean insertDataImage(HttpServletRequest request,
PageContext pageContext) throws Exception {
String Bno = request.getParameter("Bno");
log.debug("Bno=" + Bno);
if (Bno == null || Bno.length() == 0) {
throw new AppException("错误提示:请选择要操作的编号!");
}
String sql0 = "update XXXX set XXXX=? where XXXX='" + Bno + "'";
SmartUpload mySmartUpload = null;
byte[] b1 = null;
try {
/**
* 文件上传 目前只能取JPG
*/
mySmartUpload = new SmartUpload();
mySmartUpload.initialize(pageContext);// 初始化
mySmartUpload.setMaxFileSize(ConfigServices.getUpLoadFileMaxSize());// 设置上传文件的最大长度byte
mySmartUpload.upload();// 上传
mySmartUpload.setAllowedFilesList("jpg,jpeg");
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
// 循环取得文件上传表单中的文件
log.debug(mySmartUpload.getFiles().getFile(i).getFileName());
com.jspsmart.upload.File myFile = mySmartUpload.getFiles()
.getFile(i);
String path = myFile.getFilePathName();
b1 = new byte[myFile.getSize()];
for (int j = 0; j < myFile.getSize(); j++) {
b1[j] = myFile.getBinaryData(j);
}
}
/**
* 写入输出流
*/
Object resObj = null;
if (b1 != null) {
final int contentLength = b1.length;
final InputStream fin = new ByteArrayInputStream(b1);
resObj = DaoTemplateFactory.getJdbcTemplate().execute(
sql0,
new AbstractLobCreatingPreparedStatementCallback(
SpringLobHandlerGetter.get()) {
protected void setValues(PreparedStatement ps,
LobCreator lobCreator) throws SQLException,
DataAccessException {
lobCreator.setBlobAsBinaryStream(ps, 1, fin,
contentLength);
}
});
if (fin != null) {
fin.close();
}
}
if (resObj != null) {
int count = ((Integer) resObj).intValue();
if (count > 0) {
return true;
} else {
return false;
}
} else {
return false;
}
} catch (Exception e) {
throw new AppException("错误提示:上传文件格式不正确或太大,请重新上传!");
}
}
分享到:
相关推荐
实现了对上传的图片进行缩放显示,并将图片转换为二进制流(将其保存到数据库中,及实现了将图片存储到数据库中),之后通过动态页面显示生产的图片,避免了上传图片显示的路径问题
"C#图片转换成二进制流并保存到SQL Server数据库" 本文将详细讲解如何使用C#将图片转换成二进制流并保存到SQL Server数据库。以下是相关知识点的总结: 一、图片转换成二进制流 在C#中,可以使用FileStream类来...
### 如何将图片转换成二进制存储 在IT领域,特别是Web开发中,经常会遇到需要将图片存储到数据库的情况。通常来说,图片文件较大,不适合直接存储在数据库中,但有时为了方便检索或者实现某些特定功能(如在线查看...
通过以上步骤,你可以成功地在C#中实现将图片转换为二进制流并保存到SQL Server数据库,以及从数据库中检索和恢复图片。这个过程涉及到文件I/O、数据库连接、参数化查询、二进制数据处理等多个核心概念,对于开发...
"将图片存放进数据库(转换成二进制流)"这个主题,就是关于如何将图像文件以二进制形式存储到数据库中,然后从数据库中读取并以流的形式展示出来。下面我们将深入探讨这一技术。 首先,我们需要理解什么是二进制流...
将图片转换为二进制流意味着将图片文件中的每一个字节(8位)读取出来,并按照顺序排列。 2. **SQL Server**: 一个由微软公司开发的关系型数据库管理系统,支持多种数据类型,包括用于存储二进制数据的`Image`类型。...
下面将详细阐述如何实现图片以二进制形式存入数据库,并从数据库取出显示,以及相关的技术要点。 首先,我们要理解BLOB类型。在关系型数据库如MySQL、PostgreSQL、Oracle和SQL Server中,BLOB是一个特殊的数据类型...
根据给定文件中的标题、描述、标签以及部分...以上就是从标题、描述、标签以及部分内容中提取出的关键知识点,涵盖了图片转换为二进制数据、存储到数据库、从数据库读取以及在ASP.NET中动态加载的基本概念和技术细节。
3. **二进制存储**:图片不再以URL形式存储,而是转换成二进制数据存入数据库。这种方式便于数据的一体化管理,尤其适合于那些对数据完整性和隐私保护有高要求的应用场景。 将图片转换为二进制数据存储在数据库中,...
在IT行业中,数据库存储通常需要将非结构化数据如图片转换为可存储的格式,而二进制数据正是实现这一目标的有效方式。本项目“C#+Mysql将图片批量转为2进制并存入数据库中”就是这样一个解决方案,它利用C#编程语言...
本篇文章将详细探讨如何在C#中将Word文档和图片以二进制流的形式存储到数据库,并从数据库中读取后进行显示。 首先,我们要理解什么是二进制流。二进制流(Binary Stream)是数据的一种表示方式,它将文件内容转换...
2. 文件下载:当用户需要下载文件时,后端从数据库中读取对应文件的二进制流,然后将其转换成文件格式,并通过Web服务器发送给用户。用户的浏览器或下载工具接收到数据后,可以将其保存到本地或直接打开。 具体到...
# 将图片转换为二进制数据流 binary_data = img.tobytes() ``` 三、写入图片 写入图片的过程与读取相反,首先将图片数据转换成二进制流,然后写入到文件中。在Python中,可以这样操作: ```python # 假设binary...
通过将图片转换为二进制数据并存储在数据库中,可以实现数据的高效管理,同时保持程序的稳定性和性能。这个过程中的关键是理解如何使用TStream对象以及如何在数据库组件中正确处理BLOB字段。通过深入学习和实践,...
将图片转换为二进制数组(byte[]) 代码如下:byte[] fileData = this.FileUpload1.FileBytes; 2. 根据路径将文件转换为2进制数组 代码如下:代码 public byte[] returnbyte(string strpath){ // 以二进制方式读文件...
这个场景中,"C# 从数据库中取二进制图片文件存入硬盘"的主题涉及到如何使用C#编程语言从数据库中检索这些二进制数据,并将它们写入到本地硬盘作为图片文件。下面我们将详细探讨这一过程涉及的关键知识点。 首先,...
通过`MemoryStream`对象和ADO.NET,我们可以方便地将图片转换为二进制流,存入SQL Server数据库,再从数据库中读取出来还原为图片。这种方法广泛应用于各种需要存储图像数据的应用中,如Web应用程序、桌面应用等。
### 如何将图片以二进制方式存入SQL Server数据库并读取出来 在实际的应用开发过程中,我们经常需要处理图像文件,例如用户头像、产品图片等。这些图像文件通常体积较大,不适合直接存储为文件系统中的独立文件,...
### 图片转换为二进制源码:C# 实现详解 #### 一、引言 在计算机编程中,图片的处理是一项常见的需求。很多时候,我们需要将图片转换为二进制格式,以便在网络上传输或者存储到数据库中。C# 作为一种广泛应用的...