php多文件上传传

Pages: 1/3
主题 : ios 文件上传,如图片,video等等文件,能支持多文件上传,断点续传
级别: 新手上路
可可豆: 33 CB
威望: 33 点
在线时间: 226(时)
发自: Web Page
ios 文件上传,如图片,video等等文件,能支持多文件上传,断点续传&&&
ios 文件上传,如图片,video等等文件,能支持多文件上传
断点续传,使用Asiformdatarequest 能不能支持断点续传?
级别: 侠客
UID: 138591
可可豆: 88 CB
威望: 287 点
在线时间: 228(时)
发自: Web Page
支持断点下载:/ios/AFResumingDownload/505dfacd
级别: 新手上路
可可豆: 33 CB
威望: 33 点
在线时间: 226(时)
发自: Web Page
我要上传啊,上传和下载是一样的吗?
级别: 新手上路
UID: 228645
可可豆: 64 CB
威望: 21 点
在线时间: 141(时)
发自: Web Page
哥们& 同求& 我这边也要这样操作& 有答案了 只会一声啊& 我现在 还在想那个 暂停的问题 你那边 有答案吗
级别: 新手上路
可可豆: 6 CB
威望: 9 点
在线时间: 236(时)
发自: Web Page
同求, 楼主有答案了没有啊~~~,上传和下载应该是不一样的
级别: 新手上路
可可豆: 3 CB
威望: 3 点
在线时间: 30(时)
发自: Web Page
同求&&mark
级别: 新手上路
可可豆: 25 CB
威望: 25 点
在线时间: 18(时)
发自: Web Page
我想将文件上传与AsiNetworkQueue结合起来使用。但是试了不成功。不知哪个高人可否指导下?
级别: 新手上路
UID: 425398
可可豆: 52 CB
威望: 28 点
在线时间: 20(时)
发自: Web Page
我使用AFNetworking做过一个
级别: 新手上路
UID: 398134
可可豆: 165 CB
威望: 161 点
在线时间: 138(时)
发自: Web Page
回 7楼(huasha7777) 的帖子
最近项目刚好要做 能发份demo学习下吗?谢谢你 &&
级别: 新手上路
UID: 425398
可可豆: 52 CB
威望: 28 点
在线时间: 20(时)
发自: Web Page
回 8楼(捕风捉影) 的帖子
给你发了一个连接,附件里面有源码。
Pages: 1/3
关注本帖(如果有新回复会站内信通知您)
8*2-5 正确答案:11
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版&&&&有预览,一次多选图片文件,多文件上传
有预览,一次多选图片文件,多文件上传
一个控件多选择,带小图预览、的多图片、文件上传。有一方框,将文件拖到此处方框,也可以实现上传。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行SpringMVC&文件上传配置,多文件上传,使用的MultipartFile_聆听大海_新浪博客
SpringMVC&文件上传配置,多文件上传,使用的MultipartFile
SpringMVC&文件上传配置,多文件上传,使用的MultipartFile
转自:http://blog.csdn.net/swingpyzf/article/details/
一、配置文件:SpringMVC&用的是&的MultipartFile来进行文件上传&所以我们首先要配置MultipartResolver:用于处理表单中的file
[html]&view
2.&&&&&&&id="multipartResolver"&class="org.springframework.monsMultipartResolver"&&
3.&&&&&&&&&&p:defaultEncoding="UTF-8"&&
4.&&&&&&&&&&p:maxUploadSize="5400000"&&
5.&&&&&&&&&&p:uploadTempDir="fileUpload/temp"&&
6.&&&&&&&&
7.&&&&&&&&
其中属性详解:defaultEncoding="UTF-8"&是请求的编码格式,默认为iso-8859-1maxUploadSize="5400000"&是上传文件的大小,单位为字节uploadTempDir="fileUpload/temp"&为上传文件的临时路径
二、创建一个简单的上传表单:
[html]&view
文件上传实例
&action="fileUpload.html"&method="post"&enctype="multipart/form-data"&&&&&&&选择文件:&type="file"&name="file"&&&
4.&&&&&&&type="submit"&value="提交"&&&&
注意要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,这是最基本的东西,很多人会忘记然而当上传出错后则去找程序的错误,却忘了这一点
三、编写上传控制类1、创建一个控制类:
FileUploadController和一个返回结果的页面list.jsp2、编写提交表单的action:
1.&&//通过Spring的autowired注解获取spring默认配置的request&&
2.&&&&&&@Autowired&&
3.&&&&&&private&HttpServletRequest&&&
4.&&&&&&&&&&
10.&&&&&@RequestMapping("fileUpload")&&
11.&&&&&public&String&fileUpload(@RequestParam("file")&MultipartFile&file)&{&&
12.&&&&&&&&&//&判断文件是否为空&&
13.&&&&&&&&&if&(!file.isEmpty())&{&&
14.&&&&&&&&&&&&&try&{&&
15.&&&&&&&&&&&&&&&&&//&文件保存路径&&
16.&&&&&&&&&&&&&&&&&String&filePath&=&request.getSession().getServletContext().getRealPath("/")&+&"upload/"&&
17.&&&&&&&&&&&&&&&&&&&&&&&&&+&file.getOriginalFilename();&&
18.&&&&&&&&&&&&&&&&&//&转存文件&&
19.&&&&&&&&&&&&&&&&&file.transferTo(new&File(filePath));&&
20.&&&&&&&&&&&&&}&catch&(Exception&e)&{&&
21.&&&&&&&&&&&&&&&&&e.printStackTrace();&&
22.&&&&&&&&&&&&&}&&
23.&&&&&&&&&}&&
24.&&&&&&&&&//&重定向&&
25.&&&&&&&&&return&"redirect:/list.html";&&
26.&&&&&}&&
27.&&&&&&&&&
32.&&&&&@RequestMapping("list")&&
33.&&&&&public&ModelAndView&list()&{&&
34.&&&&&&&&&String&filePath&=&request.getSession().getServletContext().getRealPath("/")&+&"upload/";&&
35.&&&&&&&&&ModelAndView&mav&=&new&ModelAndView("list");&&
36.&&&&&&&&&File&uploadDest&=&new&File(filePath);&&
37.&&&&&&&&&String[]&fileNames&=&uploadDest.list();&&
38.&&&&&&&&&for&(int&i&=&0;&i&&&fileNames.&i++)&{&&
39.&&&&&&&&&&&&&//打印出文件名&&
40.&&&&&&&&&&&&&System.out.println(fileNames[i]);&&
41.&&&&&&&&&}&&
42.&&&&&&&&&return&&&
43.&&&&&}&&
3、使用SpringMVC注解RequestParam来指定表单中的file参数;4、指定一个用于保存文件的web项目路径5、通过MultipartFile的transferTo(Filedest)这个方法来转存文件到指定的路径。到此基本的文件上传就结束了。
MultipartFile类常用的一些方法:StringgetContentType()//获取文件MIME类型InputStream
getInputStream()//后去文件流StringgetName()&//获取表单中文件组件的名字StringgetOriginalFilename()&//获取上传文件的原名long
&//获取文件的字节大小,单位bytebooleanisEmpty()&//是否为空void
transferTo(Filedest)&
//保存到一个目标文件中。
四、多文件上传。
多文件上传其实很简单,和上传其他相同的参数如checkbox一样,表单中使用相同的名称,然后action中将MultipartFile参数类定义为数组就可以。接下来实现:
1、创建一个上传多文件的表单:
上传多个文件&实例
&action="filesUpload.html"&method="post"&&
6.&&&&&&&&&&enctype="multipart/form-data"&&&
7.&&&&&&&&&&
8.&&&&&&&&&&&&&&选择文件:&type="file"&name="files"&&&
9.&&&&&&&&&&
10.&&&&&&&&&&&&&选择文件:&type="file"&name="files"&&&
11.&&&&&&&&&
12.&&&&&&&&&&&&&选择文件:&type="file"&name="files"&&&
13.&&&&&&&&&
14.&&&&&&&&&&&&&&type="submit"&value="提交"&&&
2、编写处理表单的action,将原来保存文件的方法单独写一个方法出来方便共用:
6.&&&&&&private&boolean&saveFile(MultipartFile&file)&{&&
7.&&&&&&&&&&//&判断文件是否为空&&
8.&&&&&&&&&&if&(!file.isEmpty())&{&&
9.&&&&&&&&&&&&&&try&{&&
10.&&&&&&&&&&&&&&&&&//&文件保存路径&&
11.&&&&&&&&&&&&&&&&&String&filePath&=&request.getSession().getServletContext().getRealPath("/")&+&"upload/"&&
12.&&&&&&&&&&&&&&&&&&&&&&&&&+&file.getOriginalFilename();&&
13.&&&&&&&&&&&&&&&&&//&转存文件&&
14.&&&&&&&&&&&&&&&&&file.transferTo(new&File(filePath));&&
15.&&&&&&&&&&&&&&&&&return&true;&&
16.&&&&&&&&&&&&&}&catch&(Exception&e)&{&&
17.&&&&&&&&&&&&&&&&&e.printStackTrace();&&
18.&&&&&&&&&&&&&}&&
19.&&&&&&&&&}&&
20.&&&&&&&&&return&false;&&
21.&&&&&}&&
22.&3、编写action:&&
23.&&&&&@RequestMapping("filesUpload")&&
24.&&&&&public&String&filesUpload(@RequestParam("files")&MultipartFile[]&files)&{&&
25.&&&&&&&&&//判断file数组不能为空并且长度大于0&&
26.&&&&&&&&&if(files!=null&&files.length&0){&&
27.&&&&&&&&&&&&&//循环获取file数组中得文件&&
28.&&&&&&&&&&&&&for(int&i&=&0;i
29.&&&&&&&&&&&&&&&&&MultipartFile&file&=&files[i];&&
30.&&&&&&&&&&&&&&&&&//保存文件&&
31.&&&&&&&&&&&&&&&&&saveFile(file);&&
32.&&&&&&&&&&&&&}&&
33.&&&&&&&&&}&&
34.&&&&&&&&&//&重定向&&
35.&&&&&&&&&return&"redirect:/list.html";&&}
博客等级:
博客积分:0
博客访问:5,288
关注人气:0
荣誉徽章:java中多文件上传_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java中多文件上传
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢聊一聊jquery文件上传(支持多文件上传) - 推酷
聊一聊jquery文件上传(支持多文件上传)
谈到文件上传,现在一般都用现成的组件可以使用。PC端的可以使用uploadify。针对微网站H5也有uploadifive。但是这组件并不能满足各种场景的需求,例如:预览 切图 放大缩小,取消之类的。
&form action=&Upload& method=&post& enctype=&multipart/form-data&&
&input id=&File1& name=&fileupload& type=&file& value=&& /&&input id=&& type=&submit& value=&上传& /&
[HttpPost]
public JsonResult Upload()
if (Request.Files.Count & 0)
if (Request.Files.Count == 1)
HttpPostedFileBase file = Request.Files[0];
if (file.ContentLength & 0)
string title = string.E
title = DateTime.Now.ToString(&yyyyMMddHHmmss&) + &_& + Path.GetFileName(file.FileName);
string path = &../UploadFile/& +
path = System.Web.HttpContext.Current.Server.MapPath(path);
file.SaveAs(path);
return Json(new { status = true, url = path });
string[] urllist = new string[Request.Files.Count];
for (int i = 0; i & Request.Files.C i++)
HttpPostedFileBase file = Request.Files[i];
if (file.ContentLength & 0)
string title = string.E
title = DateTime.Now.ToString(&yyyyMMddHHmmss&) + &_& + Path.GetFileName(file.FileName);
string path = &../UploadFile/& +
path = System.Web.HttpContext.Current.Server.MapPath(path);
file.SaveAs(path);
urllist[i] =
return Json(new { status = true, url = urllist });
return Json(new { status = false, url = &&,msg=&没有文件& });
return Json(new { status = false, url = &&,msg=&&});
后端代码没什么不同的,一直就是如此
主要是前端html,我标记为红色字体的属性一个都不能少,少一个都不可能完成上传
action作用:该属性的值指向要提交到某一个页面,缺少它会不知道提交给谁可以提交的页面:abc.aspx
mvc的控制器方法 webapi接口
以及其他后端处理程序
method作用:该属性的值决定以何种方式提交,缺少它会报404可以取的值:post get put deleteenctype作用:指定类型 缺少它在后台接收时文件并不会包含进去可以取的值:multipart/form-data
application/x-www-form-urlencoded text/plain 此处必须使用 multipart/form-data才能将文件传到服务端
nameinput file 里面必须包含name属性才能够将文件传递到服务器,具体原因不知道,有兴趣的可以尝试下 如果有知道的麻烦解惑相信到了这里你一定可以完成上传文件操作了!
文件类型筛选
能完成基本的文件上传操作之后,我们会对它有更多的要求,比如:文件筛选
相信大家都不愿意让人什么类型的文件都往服务器上传,万一是病毒或者脚本之类的就麻烦大了。于是就开始了对文件的类型限制
作用:就是用来做条件筛选的
取值范围:
图片类 &image/gif & image/jpeg &image/png .. 多个类型之间用,隔开 如accept=&image/gif, image/jpeg&
doc &application/msword
css &text/css
excel&application/vnd.ms-excel
ppt &&application/vnd.ms-powerpoint
mp3&audio/mpeg
mp4&audio/mp4 &video/mp4
&input id=&File1& name=&fileupload& accept=&image/gif, image/jpeg& type=&file& value=&& /&
更多类型详情请参考
有了文件类型限制后 有觉得可以多选是件多么惬意的事情。凭什么桌面应用可以web就不可以。事实证明 当然可以 而且很简单
multiple=&multiple&
在input file 标签中加入multiple=&multiple&属性 就能愉快的多选文件了
现在最新的HTML代码应该是这个样子了
&form action=&Upload& method=&post& enctype=&application/x-www-form-urlencoded& &
&input id=&File1& name=&fileupload& accept=&image/gif, image/jpeg& multiple=&multiple& type=&file& value=&& /&
&input id=&& type=&submit& value=&上传& /&
来看看效果吧
普通上传文件的不足
现在的功能已经可以满足上传基本需求了,但是事情完了吗?远远没有 因为需求就像是程序员的天敌,就是一个字 &改&!这个能做成类似xx界面吗?我觉得界面还可以再改改...
大多时候我们需要上传文件成功后知道文件的地址或者是文件大小等数据,但是现在可能真没办法处理,因为现在上传成功后是这个样子的
尼玛 这是什么鬼。虽然我服务器端上传成功后确实是要返回文件路径和状态,现在也确实返回了 但是咱能不能不要这么赤裸裸的显示在页面上?还有,之前上传的页面去哪了???
jquery ajax上传文件后对返回数据做处理
经过一番改造之后 HTML代码如下
1 &form id=&uploadForm& action=&Upload& method=&post& enctype=&multipart/form-data&&
&input id=&File1& name=&fileupload& accept=&image/gif, image/jpeg& multiple=&multiple& type=&file& value=&& /&
&input id=&btnImportOK& type=&button& value=&上传& /&
5 &script src=&~/Scripts/jquery-1.8.3.min.js&&&/script&
6 &script type=&text/javascript&&
$(document).ready(function () {
$(&#btnImportOK&).click(function () {
var formData = new FormData($(&#uploadForm&)[0]);
type: &POST&,
data: formData,
url: &/Home/Upload&,
contentType: false,
processData: false,
}).success(function (data) {
if (data.status) {
console.log(data.url);
console.log(data.msg);
}).error(function (data) {
alert(data);
console.log(data);
36 &/script&
从打印结果可以看到,多文件上传已经成功 并且能够做逻辑控制了
这里有2点必须特别说明
1.Jquery版本
从第15行html代码可以看到
var formData = new FormData($(&#uploadForm&)[0]);
data传递过去的参数是formData 但是FormData这个类是jquery版本比较高的文件中才会有 所以我这里引用的是jquery1.83 之前asp.net mvc模板默认给我安装的是jquery1.10.2的版本,是不支持的
2.$(&form&).serialize()
之前也查看网上资料 都推荐用它来上传文件,于是就写成了这样
type: &POST&,
data: $(&#uploadForm&).serialize(),
url: &/Home/Upload&,
contentType: false,
processData: false,
}).success(function (data) {
if (data.status) {
console.log(data.url);
console.log(data.msg);
}).error(function (data) {
alert(data);
console.log(data);
但是后台一直没有接收到文件,然后经过一番努力搜索资料翻答案,原来文件无法被serialize()序列化,最后推荐用FormData
图片尺寸限制
啥也不说了 奉上代码
&img id=&picshow& width=&200& height=&200& src=&& /&
&form id=&uploadForm& action=&Upload& method=&post& enctype=&multipart/form-data&&
&input id=&File1& name=&fileupload& accept=&image/gif, image/jpeg& multiple=&multiple& type=&file& value=&& /&
&input id=&btnImportOK& type=&button& value=&上传& /&
&script src=&~/Scripts/jquery-1.8.3.min.js&&&/script&
&script type=&text/javascript&&
$(document).ready(function () {
$(&#btnImportOK&).click(function () {
var formData = new FormData($(&#uploadForm&)[0]);
type: &POST&,
data: formData,
url: &/Home/Upload&,
contentType: false,
processData: false,
}).success(function (data) {
if (data.status) {
// 记录当前时间戳
var start_time = new Date().getTime();
// 创建对象
var img = new Image();
// 改变图片的src
// img.src = data. 此处注释是因为上传保存是路径是本地磁盘 浏览器被阻止访问 所以用了一个远程图片
img.src = &http://a0./05/23/71302.jpg&;
// 定时执行获取宽高
var check = function () {
console.log(img.width);
// 只要任何一方大于0
// 表示已经服务器已经返回宽高
if (img.width & 0 || img.height & 0) {
clearInterval(set);
if (img.width & 210 || img.height & 210 || img.width & 190 || img.height & 190) {
alert('建议列表图片尺寸为200*200');
$(&#picshow&).attr(&src&, img.src);
$(&#picshow&).show();
var set = setInterval(check, 40);
console.log(data.msg);
}).error(function (data) {
alert(data);
console.log(data);
$(&#picshow&).hide();
这次文件上传就讲到这里吧。没有什么原理性和有深度的东西,就是教程。原谅才疏学浅,后面会越来越好的。
如果我的分享能帮到你,麻烦给点个赞吧!如果发现错误,也请及时拍砖!请关注我的个人主页
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 php多文件上传 的文章

 

随机推荐