0,效果图
1,引入js、css(建议css放在html头部,js加载在html底部)
& lt;链接的href=" https://www.yisu.com/zixun/~/内容/fileinput.min.css”rel=巴獠縩ofollow”rel="样式表"/比; & lt;脚本src=" https://www.yisu.com/zixun/~/脚本/jquery-1.10.2.min.js”祝辞& lt;/script> & lt;脚本src=" https://www.yisu.com/zixun/~/脚本/fileinput.js”祝辞& lt;/script> & lt;脚本src=" https://www.yisu.com/zixun/~/脚本/zh.js”祝辞& lt;/script>html
2,
& lt;输入类型="文件" id=" uploaddoc " name="文件"类=拔募倍喔?在//上传按钮多为可多文件上传 & lt;输入类型="隐藏" id="医生" name="医生" value="/在//保存文件路径
3,初始化
$ (" # uploaddoc ") .fileinput ({ 语言:“zh型”, uploadUrl:/形式/上传,//后台上传方法 allowedFileExtensions:“医生”,“多克斯”,//上传文件扩展名 shouUpload:假的, showRemove:假的, browseClass:“btn btn-danger”, maxFileSize: 5000, maxFileNum: 10, allowedPreviewTypes:空, previewFileIconSettings: { “医生”:“& lt;我类=癴a fa-file-word-o text-muted”祝辞& lt;/i>” }, previewFileExtSettings: { “医生”:函数(ext) { 返回ext.match (/(doc |多克斯)/我美元); } } });
4,回调方法
var=新数组列表();//声明保存上传文件路径数组对象//上传——删除 $ (" # uploaddoc”)。(“filesuccessremove”,函数(事件,键){ var=true流产; 如果确认(“确定要删除已上传的文件吗?”)){ 中止=false; } var index1; 美元。每个函数的列表,(指数项){ 如果项目。KeyID==键){//默认fileinput.js的关键与KeyID不一致,需要改动源码,详情见下文 index1=指数; 美元。邮报》("//uploaddelete”形式,{关键:项目。KeyID路径:项目。路径});//删除以上传到本地的文件 } }); 列表。拼接(index1, 1); var路径=" "; 美元。每个函数的列表,(指数项){ +=item.path路径; }); $(" #医生”).val(路径);//修改保存的文件路径 });//取消上传事件,左上角的取消按钮 $ (" # uploaddoc”)。(“filecleared”,函数(事件,文件){ 美元。每个函数的列表,(指数项){ 美元。邮报》("//uploaddelete”形式,{关键:“所有”,路径:项目。路径}); }); 列表=new Array();//清空保存的文件路径数组对象,这里是赋值给新的空对象,应该可以优化为删除以保存的所有值 $(" #医生”).val (" "); });//上传——成功 $ (" # uploaddoc”)。(“类”,函数(事件、数据previewId指数){ var=数据形式。形式,文件=数据。文件、额外=data.extra 响应=数据。的反应,读者=data.reader; 列表。推动({路径:响应。路径,KeyID: previewId}) $(" #医生”).val($(" #医生”).val () + response.path);//$(" #医生”).val(列表); });>之前
5,后台上传方法
//上传方法 公共JsonResult上传() { HttpPostedFileBase文件=Request.Files(“文件”); 如果文件==null) { 返回Json(新{错误="上传异常"}); } var ext=Path.GetExtension (file.FileName); var=Path.GetFileNameWithoutExtension文件名(file.FileName); var serverfilenname=Guid.NewGuid () .ToString (“n”) +“_”+文件名+ ext; 试一试 { var路径="/文件”; var dic=字符串。格式(“{0}/{1}/{2}/{3}”,路径,DateTime.Today.Year.ToString (), DateTime.Today.Month.ToString (), DateTime.Today.Day.ToString ()); 如果(! Directory.Exists (Server.MapPath (dic))) { Directory.CreateDirectory (Server.MapPath (dic)); } var webpath=字符串。格式(“{0}/{1}”,dic, serverfilenname); var serverpath=Path.Combine (Server.MapPath (dic) serverfilenname); file.SaveAs (serverpath); 返回Json(新{ url="/形式/uploaddelete ",//定义要删除的行动,没有用到可删掉 关键=serverfilenname, 路径=webpath}); } 捕获(异常交货) { 返回Json(新{错误="上传异常”+前}); } }//删除本地文件方法 公共JsonResult UpLoadDelete () { 试一试 { var关键=Request.Params(“关键”); var=Request.Params路径(“路径”); 如果(string.IsNullOrEmpty(关键)| | string.IsNullOrEmpty(路径)) { 返回Json (false, JsonRequestBehavior.DenyGet); }=Server.MapPath路径(路径); 如果(System.IO.File.Exists(路径)) { System.IO.File.Delete(路径); 返回Json(真的,JsonRequestBehavior.DenyGet); } 其他的 { 返回Json (false, JsonRequestBehavior.DenyGet); } } 抓住(异常) { 返回Json (false, JsonRequestBehavior.DenyGet); } }引导Fileinput上传插件使用实例代码