博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单项目之批量上传
阅读量:4337 次
发布时间:2019-06-07

本文共 3362 字,大约阅读时间需要 11 分钟。

之前做一小项目中需要批量上传功能,以前都是用的网上现成的Uploadify、WebUpload等插件,心想既然是小项目还是不用插件,所以不如自己写一个(非插件).

  1.页面

  批量上传页面

  
技术分享
1 
2 @Html.Hidden("filelist") 3
4
5
8
11
12
13
16
22
23
6 文件: 7 9
10
14 文件:15 17 18 选择文件19 20 未选择文件21
24
View Code

  美化上传按钮

  
技术分享
View Code

  文件列表

  
技术分享
1 .filediv {2     height: 100px;3     background-color: burlywood;4     overflow-x: hidden;5     overflow-y: auto;6 }
View Code

  2.脚本

  选择文件

  
技术分享
1 function upload() { 2     //获得已选文件集合 3     var fs = document.getElementById("file").files; 4     //元素数据 5     var fsarray = $("#filelist").data("data"); 6     if (fsarray) { 7         //添加新选择的文件 8         $.each(fs, function (i, v) { 9             if (fsarray.indexOf(v.name) == -1) {10                 fsarray.push(v);11                 $("#filediv").append("
" + v.name + "
X
");12 }13 })14 }15 else {16 fsarray = new Array;17 $.each(fs, function (i, v) {18 fsarray.push(v);19 $("#filediv").append("
" + v.name + "
X
");20 })21 //向元素附加已选择的数据22 $("#filelist").data("data", fsarray);23 }24 $("#scts").css("color", "green").text("已选择" + fsarray.length + "个文件");25 }
View Code

  删除文件

  
技术分享
1 function delpdf(obj) {2     var ar = $("#filelist").data("data");3     ar.splice(ar.indexOf("data-name"), 1);4     $(obj).parent().remove();5     $("#scts").css("color", ar.length == 0 ? "red" : "green").text("已选择" + ar.length + "个文件");6 }
View Code

  3.上传

  
技术分享
1   if (!$("#formid").validate().form()) return false; 2                 var fd = new FormData($("#formid")[0]); 3                 if ($("#wfile").outerHTML) { 4                     $("#wfile").outerHTML = $("#wfile").outerHTML; 5                 } else {  6                     $("#wfile").value = ""; 7                 } 8                 for (var i = 0; i < $("#filelist").data("data").length; i++) { 9                     fd.append("filelist[]", $("#filelist").data("data")[i])10                 }11                 $.ajax({12                     url: "/home/ManuscriptAdd",13                     type: "post",14                     dataType: "json",15                     data: fd,16                     processData: false,17                     contentType: false,18                     success: function (data) {19                         if (data.state == "200") {20                             $.jBox.tip("上传成功", "success");21                             window.location.reload();22                         }23                         else {24                             $.jBox.tip(data.content, "error");25                         }26                     },27                     error: function (xhr) {28                         $.jBox.closeTip();29                     }30                 })
View Code

转载于:https://www.cnblogs.com/huangwentian/p/6417849.html

你可能感兴趣的文章
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>
使用正确的姿势跨域
查看>>
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>