设置上传文件的大小
来源:互联网 发布:黄金交易软件排行 编辑:程序博客网 时间:2024/05/14 13:49
* 单个文件大小限制
> sfu.setFileSizeMax(100*1024):限制单个文件大小为100KB
> 上面的方法调用,必须在解析开始之前调用!
> 如果上传的文件超出限制,在parseRequest()方法执行时,会抛出异常!FileUploadBase.FileSizeLimitExceededException
* 整个请求所有数据大小限制
> sfu.setSizeMax(1024 * 1024);//限制整个表单大小为1M
> sfu.setFileSizeMax(100*1024):限制单个文件大小为100KB
> 上面的方法调用,必须在解析开始之前调用!
> 如果上传的文件超出限制,在parseRequest()方法执行时,会抛出异常!FileUploadBase.FileSizeLimitExceededException
* 整个请求所有数据大小限制
> sfu.setSizeMax(1024 * 1024);//限制整个表单大小为1M
> 这个方法也是必须在parseRequest()方法之前调用
> 如果上传的文件超出限制,在parseRequest()方法执行时,会抛出异常!FileUploadBase.SizeLimitExceededException
package servlet;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadBase;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;public class UploadServlet3 extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/* * 创建工厂 */DiskFileItemFactory factory=new DiskFileItemFactory();/* * 创建解析器*/ServletFileUpload sfu=new ServletFileUpload(factory);//限制单个文件大小为100KBsfu.setFileSizeMax(100*1024);//限制整个表单大小为1Msfu.setSizeMax(1024*1024);/* * 使用解析器来解析request,得到FileItem集合 */try {List <FileItem> fileItem=sfu.parseRequest(request);FileItem fi=fileItem.get(1);////////////////////////////* * 1、得到文件保存的路径 */String root=this.getServletContext().getRealPath("/WEB-INF/files/");/* * 2. 生成二层目录 * 1). 得到文件名称 * 2). 得到hashCode * 3). 转换成16进制 * 4). 获取前二个字符用来生成目录 *///1.得到文件名称String filename=fi.getName();/* * 处理文件名的绝对路径 */int index=filename.lastIndexOf("//");if(index!=-1){filename=filename.substring(index+1);}/* * 为了避免文件同名 */filename=CommonUtils.uuid()+"_"+filename;//2.得到hashcodeint hashcode=filename.hashCode();//3.转换成十六进制String hex=Integer.toHexString(hashcode);//4. 获取hex的前两个字母,与root连接在一起,生成一个完整的路径File dirFile=new File(root,hex.charAt(0)+"/"+hex.charAt(1)); dirFile.mkdirs(); //创建目录链 //5.创建目录文件 File desFile=new File(dirFile,filename); try {fi.write(desFile);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileUploadException e) {// TODO Auto-generated catch blockif (e instanceof FileUploadBase.FileSizeLimitExceededException){request.setAttribute("msg", "您上传的文件超出了100KB!");request.getRequestDispatcher("/index.jsp").forward(request, response);}}}}
0 0
- 设置上传文件的大小
- 设置上传文件的最大大小
- 设置上传文件的最大大小
- 设置上传文件的最大大小
- 设置上传文件的最大大小
- 设置上传文件的最大大小
- 设置ASP.NET 上传文件的大小:
- IIS7设置上传文件的大小
- IIS7 设置文件上传大小
- PHP文件上传大小设置
- php上传大小文件设置
- php 文件上传设置大小
- IIS文件上传大小设置
- 如何设置fckeditor的上传文件的大小
- web.fonfig设置上传文件的最大大小
- Drupal 7 设置上传文件的限制大小
- 设置IIS7文件上传的最大大小 maxAllowedContentLength,maxRequestLength
- IIS文件上传、下载的类型和大小设置
- 读书笔记---推荐系统实践(3)
- 数组、内存、内部类、封装、static关键字、多态
- spring Controller类名和请求地址
- Java中String与StringBuffer的区别
- 修改eclipse/MyEclipse中包的显示结构为树形
- 设置上传文件的大小
- 接口内部的类
- 自由职业系列之前期规划(一)
- LearnMVC5-GettingStarted
- android recovery模式及ROM制作
- jquery.qrcode.min.js(支持中文转化二维码)
- 1003. Emergency (25)
- 创业公司技术架构详解(移动架构)
- Mybatis第二弹