使用FileUpload上传文件
来源:互联网 发布:es6 遍历递归数组 编辑:程序博客网 时间:2024/05/20 18:47
FielUpload是Apache提供的一个免费的上传组件,在使用它之前,我们需要先下载两个包FileUpload包(http://commons.apache.org/proper/commons-fileupload/)和Commons包(http://commons.apache.org/proper/commons-io/)
下面是FileUpload上传的基本步骤:
(1)创建磁盘工厂:DiskFileItemFactory factory = new DiskFileItemFactory() ;(2)创建处理工具:ServletFileUpload upload = new ServletFileUpload(factory) ;(3)设置上传文件的大小:upload.setFileSizeMax(3145728) ;(4)接收全部的内容:List<FileItem> items = upload.parseRequest(request) ;
例子:
DiskFileItemFactory factory = new DiskFileItemFactory() ;//创建磁盘工厂factory.setRepository(new File(临时文件夹路径));//创建处理工具upload.setFileSizeMax(3145728) ;//设置最大上传文件大小为3MB,3*1024*1024List<FileItem> items = upload.parseRequest(request) ;//接收全部内容Iterator<FileItem> item = items.iterator() ;//将全部的内容变为Iterator实例IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr()) ;//实例化IP时间戳对象while(item.hasNext()){//依次取出每一个内容try{FileItem item = iter.next() ;//取出每一个上传的文件String fieldName = item.getFieldName() ;//得到表单控件的名称if(!item.isFormField()){//不是普通的文本数据,是上传文件File saveFile = null ;//定义保存的文件InputStream input = null ;//定义文件的输入流,用于读取源文件OutputStream output = null ;//定义文件的输出流,用于保存文件input = item.getInputStream() ;//取得上传文件的输入流output = new FileOutputStream(new File(路径+item.getName().split("\\.")[1])) ;//定义输出文件路径byte data[] = new byte[512] ;//分块保存int temp = 0 ;while((temp = input.read(data,0,512)) != -1){//依次读取内容output.write(data) ;//保存内容}}}catch(IOException e){throw e ;}finally{try{input.close() ;//关闭流output.close() ;}catch(IOException e1){throw e1 ;}}}几个方法:
取得文件名称:getName() ;取得文件类型:getContentType() ;取得文件大小:getSize() ;
0 0
- 使用FileUpload上传文件
- 使用FileUpload上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用FileUpload组件上传文件
- 使用commons fileupload 上传文件
- .net使用FileUpload上传文件
- 使用FileUpload组件上传文件
- 使用 Commons-fileupload 上传文件
- 使用fileupload实现文件上传
- 使用commons-fileupload上传文件
- 使用fileupload实现文件上传
- 使用FileUpload组件上传文件
- Ant编译utf-8非法字符:/65279 解决方法
- Delphi 分隔GSMModem接收到的短信字符串
- c++函数 和java的区别,虚函数 纯虚函数
- What will be the next big thing after Facebook and Twitter? Why?
- ubuntu下搜索文件
- 使用FileUpload上传文件
- ARM学习笔记020之LDS脚本链接文件
- Myeclipse下web项目改名,tomcat下不变的问题
- maven assembly 打包zip,gz等格式文件
- MFC WaitForMultipleObjects
- oracle 11g 之 result cache
- 做一名合格的前端开发工程师(12篇)——第一篇 Javascript加载执行问题探索
- 通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔
- view控件开源篇