上传系列:ajaxupload.js

ajaxupload.js

上次说了jquery.upload.js,这次再说一下ajaxupload.js,这个其实也比较简答,只有一个JS文件:

html代码:

 1 $(function () {
 2         var btnUpload = $('#upload');
 3         new AjaxUpload(btnUpload, {
 4             action: '/System/Upload',               //上传地址
 5             name: 'uploadfile',                     //文件域名字
 6             onSubmit: function (file, ext) {        //上传之前的操作  
 7                 if (!(ext && /^(jpg|gif|jpeg|png)$/.test(ext))) {
 8                     $.messager.alert('提示', '亲,请选择jpg、png、gif、jpeg图片!');
 9                     return false;
10                 }
11                 var ele = $(".imglist li");
12                 if (ele.length >= 5) {
13                     $.messager.alert('提示', '亲,最多上传五张图片!');
14                     return false;
15                 }
16             },
17             onComplete: function (file, response) {  //上传完毕后的操作(response服务器返回的信息)  
18                 var html = '<li><span><img src="' + response + '"/><p>';
19                 if ($(".imglist").find('li').length > 0) {
20                     html += '<input type="radio" name="img"  value="' + response + '" />';
21                 } else {
22                     html += '<input type="radio" name="img"  value="' + response + '" checked="checked" />';
23                 }
24                 html += '<a href="javascript:void(0)" onclick="defimg(this)">主图</a>|<a href="javascript:void(0)" onclick="delimg(this)">删除</a>';
25                 html += '</p></span></li>';
26                 $('.imglist').append(html);
27             }
28         });
29     });
View Code

后台代码和jquery.upload.js的差不多,但是有一点需要注意,这个ajaxupload.js在后台接受文件的时候,比如后台方法:

1 public ActionResult Upload(HttpPostedFileBase FileData)
2         {
3            
4         }
View Code

MVC不会直映射到,所以比较坑人的地方出现了,我们需要通过代码,再获取上传文件

1 public ActionResult Upload(HttpPostedFileBase FileData)
2         {
3             FileData = Request.Files["uploadfile"];
4         }
View Code
原文地址:https://www.cnblogs.com/jiaxa/p/3926852.html