首页 > Web开发 > 详细

文件上传下载

时间:2016-02-09 01:13:19      阅读:202      评论:0      收藏:0      [点我收藏+]

2015.12.10 文件上传下载

Application/x-www-form-urlencoded

只需要在input里面的type里面设置 为fileenctype="multipart/form-data"

举例:

<form action="" method="" enctype="multipart/form-data"/>

<input type="file" name=""/>

</form>

 

默认的 enctype是 application/x-www-form-urlencoded 是表单形式提交。

 

这里来一个答疑。

对于一个表单来说,上传有多余两种方式,有一种在报错的时候告诉我是一个mixed stream

但是对于我们现在的知识来说,需要掌握两种,一种是默认的表单方式:表现形式是:enctype="application/x-www-form-urlencoded"。另一种是可以传递文件的复合数据形式:enctype="multipart/form-data"

对于符合文件的解析来说,

1、首先需要创建一个   硬盘文件项工厂

DiskFileItemFactory dfif = new DiskFileItemFactory();

2、上传文件控制层

ServletFileUpload sfu = new ServletFileUpload(dfif);

 

3、然后利用 上传文件控制层 解析 表单发来的请求

sfu.parseRequest(request);

解析的结果是一个 文件项列表

List<FileItem> fileItems = sfu.paresRequest(request);

然后遍历。

对于文件项来说有两种分类:是表单域(可简单理解为非文件) 或者 是非表单域(简单理解为文件)

是表单域的话:

for(FileItem fileitem:fileItems){
    If(fileitem.isFormField){//是表单域
    String fileName = fileitem.getFieldName();
    String fileValue = fileItem.getString();
    Syso(fileName+fileValue);
    }else{//是非表单域
    String fileName = fileitem.getName();
    
    }
}

文件上传这里需要两个包。要记得commons-fileupload-1.2.2.jar commons-io-2.0.1.jar

 

下载真不是那么简单,这个想想就完了,在android里面只要请求一个路径就能下载,但是其实在javaweb里面,不能那样,为什么呢?假设都是下载一张图片,在android里面,请求就能下载,但是在浏览器这段,假设请求的一个超级链接有一个url,点开后,只能是显示一张图片到当前浏览器,根本不能实现,文件的下载,所以。这个想法本身因为平台的原因,变得不合理。

 

文件上传下载

原文:http://www.cnblogs.com/letben/p/5185320.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!