理论---jsp使用jspsmartupload组件实现文件上传功能
2017-05-15 15:29
901 查看
开始
需要使用的jar包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
jspsmartupload.jar
mysql-connector-java-5.1.42-bin.jar
jstl.jar
standard.jar
文件上传的原理:
文件的上传是基于表单来完成的
表单中的file元素
可以自动生成一个文本框和一个按钮
文本框可以输入本地文件名或路径
点击按钮可以打开一个文件选择框让用户选择本地文件
注意:
文件上传时必须设置表单的enctype属性
将它的值设为multipart/form-data
步骤:
upload.jsp
SmartuploadServlet.java
文件上传的细节:
文件上传可以将文件上传到服务器上面的指定目录中,文件上传功能有注意的细节:
1.为保证服务器安全,上传文件应该房放在外界无法直接访问的目录下,比如:WEB-INF目录下
2.为防止文件现象发生,要为上传文件产生一个唯一的文件名。
3.为防止一个目录下面出现太多文件,要是用hash算法打散存储
4.要限制上传文件的最大值
5.要限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法
总结
需要使用的jar包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
jspsmartupload.jar
mysql-connector-java-5.1.42-bin.jar
jstl.jar
standard.jar
文件上传的原理:
文件的上传是基于表单来完成的
表单中的file元素
可以自动生成一个文本框和一个按钮
文本框可以输入本地文件名或路径
点击按钮可以打开一个文件选择框让用户选择本地文件
注意:
文件上传时必须设置表单的enctype属性
将它的值设为multipart/form-data
步骤:
upload.jsp
<form method ="post" enctype =“multipart/form-data” action ="servlet url"> <input type="text" name="userName"></br> <input type="file" name="myFile"> </br> <input type="file" name="myFile2"> </br> <input type="submit" value="上传"> </form>
SmartuploadServlet.java
package controller; import java.io.File; import java.io.IOException; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jspsmart.upload.SmartUpload; import com.jspsmart.upload.SmartUploadException; @WebServlet("/send") public class SmartUploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; public SmartUploadServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //文件上传个数 int count = 0; //文件上传地址 String filePath = getServletContext().getRealPath("/")+"smartUpload"; //如果文件夹不存在 则创建这个文件夹 File file = new File(filePath); if(!file.exists()) { file.mkdir(); } //初始化对象 SmartUpload su = new SmartUpload(); su.initialize(getServletConfig(),request,response); //设置文件最大容量 su.setMaxFileSize(10*1024*1024); //设置所有文件最大容量 su.setTotalMaxFileSize(100*1024*1024); //设置上传文件类型 su.setAllowedFilesList("rar,txt,jpg,bmp,gif"); //设置禁止上传的文件类型 su.setDeniedFilesList("jsp,js,html,css"); //上传文件 su.upload(); System.out.println("userName=" + su.getRequest().getParameter("userName")); count = su.save(filePath); for (int i = 0; i < su.getFiles().getCount(); i++) { com.jspsmart.upload.File tempFile = su.getFiles().getFile(i); System.out.println("-------------------------------------------------"); System.out.println("表单项名称:" + tempFile.getFieldName()); System.out.println("文件名:" + tempFile.getFileName()); System.out.println("文件长度:" + tempFile.getSize()); System.out.println("文件扩展名:" + tempFile.getFileExt()); System.out.println("文件全名:" + tempFile.getFilePathName()); System.out.println("-------------------------------------------------"); } System.out.println("上传成功!共" + count + "个文件!"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } public void init() throws ServletException { } }
文件上传的细节:
文件上传可以将文件上传到服务器上面的指定目录中,文件上传功能有注意的细节:
1.为保证服务器安全,上传文件应该房放在外界无法直接访问的目录下,比如:WEB-INF目录下
2.为防止文件现象发生,要为上传文件产生一个唯一的文件名。
3.为防止一个目录下面出现太多文件,要是用hash算法打散存储
4.要限制上传文件的最大值
5.要限制上传文件的类型,在收到上传文件名时,判断后缀名是否合法
总结
相关文章推荐
- 使用smartupload组件实现jsp+jdbc上传下载文件
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(一):JspSmart之upload组件源码及使用
- jspsmartupload 组件的使用 案例(上传和下载功能实现)
- 今天使用jspsmartupload.jar实现上传文件的功能,发现中文乱码,于是总结了下解决方法
- 使用smartupload组件实现jsp+jdbc上传下载文件实例解析
- 在jsp中使用smartupload组件上传文件
- 【转】在jsp中使用smartupload组件上传文件
- 在jsp中使用smartupload组件上传文件
- 在jsp中使用smartupload组件上传文件- -
- 在jsp中使用smartupload组件上传文件
- JSP利用SmartUpload组件实现文件上传下载
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(三):jspsmartupload samples
- [JAVA]彻底抛弃 jspSmartUpload,使用 common-fileupload 实现文件上传
- 在jsp中使用smartupload组件上传文件
- 使用jspsmartupload组件在servlet里面上传文件
- 使用jspSmartUpload组件进行文件上传、下载
- 项目开发技巧(四):使用JspSmartupload实现文件上传下载(二):jspSmartUpload上传下载全攻略(ZZ)
- JSP中使用jspsmartupload组件进行文件的上传和下载
- jsp使用jspSmartUpLoad组件实现中文文件下载
- 使用jspSmartUpload组件进行文件上传、下载