博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Easyui上传文件的问题
阅读量:4561 次
发布时间:2019-06-08

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

首先,添加以下代码到前端界面

上传文件

需要注意的地方:easyui-filebox必须要加上name属性,不加后台就没法获取。

千万不要纠结于使用 $('#upfile').filebox('getValue') 获取文件路径反馈为 C:\fakepath\... 的问题,这个跟上传文件真的没有一点关系。

写入对应的JS代码

function submit() {            $('#fm').form('submit', {                url: '/UploadDemo/UploadFiles',                onSubmit: function () {                    return $(this).form('validate');                },                success: function (result) {                    var result = eval('(' + result + ')');                    if (result.success) {                        $.messager.show({                               title: '提示',                            msg: '上传成功'                        });                    } else {                        $.messager.show({                                title: '错误',                            msg: result.errorMsg                        });                    }                }            });        }

控制器写入上传文件代码

[HttpPost]        public ActionResult UploadFiles()        {            var success = false;            var errorMsg = "";            //获取客户端上传的文件集合            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;            if (files.Count == 0)            {                errorMsg = "未获取到任何文件";                return Json(new { success = success, errorMsg = errorMsg });            }            try            {                //定义文件存放的目标路径                string targetDir = System.Web.HttpContext.Current.Server.MapPath("~/Content/Upload/touxiang");                //获取文件集合中的每一个文件                for (int i = 0; i < files.Count; i++)                {                    HttpPostedFile file = files[i];                    //组合成文件的完整路径                    string path = System.IO.Path.Combine(targetDir, System.IO.Path.GetFileName(file.FileName));                    //保存上传的文件到指定路径中                    file.SaveAs(path);                }                success = true;            }            catch (System.Exception ex)            {                errorMsg = ex.ToString();                return Json(new { success = success, errorMsg = errorMsg });            }            return Json(new { success = success, errorMsg = errorMsg });        }

搞定~

 

附:如果要限制上传文件类型,直接在data-option中设置accept属性即可,如

image/*中*为通配符,对应清单如下

类型 accept对应值 描述
*.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video
*.ac3 audio/ac3 AC3 Audio
*.asf allpication/vnd.ms-asf Advanced Streaming Format
*.au audio/basic AU Audio
*.css text/css Cascading Style Sheets
*.csv text/csv Comma Separated Values
*.doc application/msword MS Word Document
*.dot application/msword MS Word Template
*.dtd application/xml-dtd Document Type Definition
*.dwg image/vnd.dwg AutoCAD Drawing Database
*.dxf image/vnd.dxf AutoCAD Drawing Interchange Format
*.gif image/gif Graphic Interchange Format
*.htm text/html HyperText Markup Language
*.html text/html HyperText Markup Language
*.jp2 image/jp2 JPEG-2000
*.jpe image/jpeg JPEG
*.jpeg image/jpeg JPEG
*.jpg image/jpeg JPEG
*.js text/javascript, application/javascript JavaScript
*.json application/json JavaScript Object Notation
*.mp2 audio/mpeg, video/mpeg MPEG Audio/Video Stream, Layer II
*.mp3 audio/mpeg MPEG Audio Stream, Layer III
*.mp4 audio/mp4, video/mp4 MPEG-4 Audio/Video
*.mpeg video/mpeg MPEG Video Stream, Layer II
*.mpg video/mpeg MPEG Video Stream, Layer II
*.mpp application/vnd.ms-project MS Project Project
*.ogg application/ogg, audio/ogg Ogg Vorbis
*.pdf application/pdf Portable Document Format
*.png image/png Portable Network Graphics
*.pot application/vnd.ms-powerpoint MS PowerPoint Template
*.pps application/vnd.ms-powerpoint MS PowerPoint Slideshow
*.ppt application/vnd.ms-powerpoint MS PowerPoint Presentation
*.rtf application/rtf, text/rtf Rich Text Format
*.svf image/vnd.svf Simple Vector Format
*.tif image/tiff Tagged Image Format File
*.tiff image/tiff Tagged Image Format File
*.txt text/plain Plain Text
*.wdb application/vnd.ms-works MS Works Database
*.wps application/vnd.ms-works Works Text Document
*.xhtml application/xhtml+xml Extensible HyperText Markup Language
*.xlc application/vnd.ms-excel MS Excel Chart
*.xlm application/vnd.ms-excel MS Excel Macro
*.xls application/vnd.ms-excel MS Excel Spreadsheet
*.xlt application/vnd.ms-excel MS Excel Template
*.xlw application/vnd.ms-excel MS Excel Workspace
*.xml text/xml, application/xml Extensible Markup Language
*.zip aplication/zip Compressed Archive
     

 

转载于:https://www.cnblogs.com/DevilX5/p/7391262.html

你可能感兴趣的文章
How to use VisualSVN Server and TortoiseSVN to host your codes and control your codes' version
查看>>
微信小程序picker组件 - 省市二级联动
查看>>
Dynamics CRM 给视图配置安全角色
查看>>
Eclipse修改已存在的SVN地址
查看>>
(转)使用 python Matplotlib 库绘图
查看>>
进程/线程切换原则
查看>>
正则表达式语法
查看>>
20165301 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Vue的简单入门
查看>>
urllib 中的异常处理
查看>>
通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
查看>>
WIFI密码破解全攻略
查看>>
gulp
查看>>
pgsql查询优化之模糊查询
查看>>
不变模式
查看>>
20181227 新的目标
查看>>
androidtab
查看>>
php 事件驱动 消息机制 共享内存
查看>>
剑指offer 二叉树的bfs
查看>>
LeetCode Maximum Subarray
查看>>