1.upFile.jsp在页面提交form代码参照一下内容
<script language="javascript">
function SaveItem(type){
var str = document.all.ON_SEQ.value;
var dd=str.indexOf(".")
var type = document.all.ON_SEQ.value.substring(dd+1, str.length);
if(type == "xls"){
document.forms('clientForm').action="upFileSave.jsp?type=" + type;
document.forms('clientForm').submit();
return;
} else{
return alert("请选择上传excel文件!");
}
}
</script>
<form name="clientForm" method="POST" action="upFileSave.jsp" id="clientForm" enctype="multipart/form-data">
<input type="file" name="file">
<a href="javascript:SaveItem(0)>上传 </a>
</form>
2.upFileSave.jsp,直接读取文件流,不在服务器保留上传文件
try {
//实例化上载bean
com.jspsmart.upload.SmartUpload mySmartUpload = new com.jspsmart.upload.SmartUpload();
//初始化
mySmartUpload.initialize(pageContext);
//设置上载的最大值
mySmartUpload.setMaxFileSize(5 * 1024 * 1024);
//设置上传文件类型
//mySmartUpload.setAllowedFilesList("xls");
//上载文件
mySmartUpload.upload();
String ordernoid = StringAssistant.getStringClear(mySmartUpload.getRequest().getParameter("type"));
com.jspsmart.upload.File lo_File = mySmartUpload.getFiles().getFile(0);
byte[] fileContent = new byte[(int) lo_File.getSize()];
for (int k = 0; k < (int) lo_File.getSize(); k++) {
fileContent[k] = lo_File.getBinaryData(k);
}
InputStream fs = null;
if (!lo_File.isMissing()) {
fs = new ByteArrayInputStream(fileContent);
//数据库相关操作....
//手动提交
conn.setAutoCommit(false);
sql = "insert into contsub_upload_file(id,FILE_NAME,FILE_CONTENT) values (?,?,?,)";
pre = null;
pre = conn.prepareStatement(sql);
long id =SequenceMaker.getSequence("id", "contsub_upload_file_seq");
pre.setLong(1, id);
pre.setString(2,lo_File.getFileName());
pre.setBlob(3, oracle.sql.BLOB.empty_lob());
pre.executeUpdate();
pre = null;
rs = null;
pre = conn.prepareStatement("SELECT FILE_CONTENT FROM contsub_upload_file WHERE id = " + id + " for update");
rs = pre.executeQuery();
if (rs.next())
{
oracle.sql.BLOB fc = (oracle.sql.BLOB) rs.getBlob("FILE_CONTENT");
java.io.OutputStream binOut = fc.getBinaryOutputStream();
java.io.BufferedOutputStream out1 = new java.io.BufferedOutputStream(binOut);
java.io.BufferedInputStream in = new java.io.BufferedInputStream(fs);
int c;
while ((c = in.read()) != -1)
{
out1.write(c);
}
in.close();
out1.close();
}
rs.close();
pre.close();
}
} catch (Exception er) {
System.out.println(er);
}
分享到:
相关推荐
4. **API使用**:在JSP或Servlet中,可以通过jspsmart提供的API来获取上传文件的信息,如文件名、文件大小、文件类型等,并将文件保存到服务器指定的目录。 5. **错误处理**:在文件上传过程中可能出现各种异常,如...
### 使用JSPsmart进行文件上传的知识点解析 #### 一、引言 在Web开发中,文件上传是一项常见的功能需求。对于使用Java Server Pages (JSP) 的开发者来说,选择一个稳定且易于使用的文件上传组件至关重要。JSPsmart ...
利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求...
**JSpsmart** 是一个基于Java的开源上传和下载组件,它为Web应用程序提供了一种高效、稳定且易于使用的文件上传和下载功能。这个组件在Web开发中特别有用,因为它处理了与大文件上传和断点续传相关的复杂性。 **...
1. **多文件上传支持**:JSPSmart支持单个文件和多个文件的上传,通过设置参数,可以限制同时上传的文件数量,以及每个文件的大小,防止服务器资源被过度消耗。 2. **进度条显示**:组件提供了文件上传进度的实时...
本实例将探讨如何利用jspSmart库来实现在数据库中存储上传的文件。jspSmart是一个方便的Java库,它简化了文件上传的过程,使得开发者可以更轻松地处理HTTP请求中的多部分数据。 首先,我们需要理解文件上传的基本...
### 关于在Servlet中使用JspSmart进行文件上传的知识点 #### 1. Servlet与JspSmart概述 - **Servlet**:Servlet是一种...通过这些知识点的学习,可以更好地理解如何利用JspSmart简化文件上传流程,并提高开发效率。
在探讨“利用jspsmart下载”这一主题时,我们首先需要理解JSPSmart(简称SmartUpload)是一个用于处理文件上传的Java库,它简化了在Web应用中上传文件的过程。SmartUpload不仅支持多种文件上传机制,如HTML表单上传...
本文将详细讨论JSpsmart组件及其核心功能——文件上传和下载,以及如何利用jspSmartUpload.jar库来实现这些操作。 1. **JSpsmart介绍** JSpsmart是一个基于Java的开源文件上传组件,它提供了高效的文件上传处理...
总的来说,JSpsmart是一个强大的文件上传解决方案,它通过提供源码和详细的说明文档,使得开发者能够更好地理解和利用这个工具。其异步处理和多线程技术提高了上传性能,而丰富的API和详尽的文档则降低了学习曲线,...
开发者通常会在JSP页面中创建一个Uploader对象,并设置相关的属性,如最大上传文件大小、允许的文件类型等。 2. **Session对象**:每个上传的文件都对应一个Session对象,用于存储文件的元信息,如文件名、类型、...
**JSpsmartupload组件**是...通过利用这些源代码,开发者不仅可以理解上传文件的底层工作原理,还可以根据实际需求进行定制化开发。在实际项目中,这样的组件可以极大地提高开发效率,减少因处理文件上传带来的复杂性。
【知识点详解】 ...以上是关于“jspsmart实现文件上传下载”的核心知识点,包括使用 `SmartUpload` 组件进行文件操作的基本步骤和注意事项。在实际应用中,应结合具体需求和安全策略进行调整和优化。
在给定的标题和描述中,"jsp+jspsmart上传+poi3.8读取excel2007+jxl读取excel2003" 提到了一种结合Java Web技术实现文件上传,并通过不同库解析Excel文件的解决方案。这里我们将详细探讨涉及的各个知识点。 首先,`...
2. **大文件分块上传**:对于大文件,JSPSmart支持分块上传,避免了因文件过大导致的上传失败问题。 3. **文件类型检查**:可以设定允许上传的文件类型,防止恶意用户上传不安全或不合法的文件。 4. **文件大小...
通过以上步骤,你可以在MyEclipse环境中,利用JSPSmart组件和MySQL数据库实现文件上传和管理功能。这不仅可以提升用户体验,还能有效管理用户上传的文件,确保数据的安全性和一致性。记得在实际应用中,还需要考虑...
作用:取全部上传文件,以Files对象形式返回,可以利用Files类的操作方法来获得上传文件的数目等信息。 原型:public Files getFiles() 5、getRequest 作用:取得Request对象,以便由此对象获得上传表单参数之值...
从描述中的“上传的JAR包及例子”可以推断,这是一个包含可执行代码(JAR文件)和示例项目的压缩包,旨在帮助开发者理解和使用"jspsmart"。 JSP(JavaServer Pages)是Java平台上用于构建动态网站的一种技术,它...
利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 * 能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的...
下面将详细阐述JSP文件上传的实现步骤、原理以及如何利用`jspsmart.jar`进行优化。 首先,了解HTTP协议的基础知识是必要的。在HTTP中,标准的GET请求无法处理大文件或多个文件的上传,因为它们的参数长度有限制。...