全栈开发技术

ASP.NET MVC中使用Jquery File Upload

2017-12-26  本文已影响458人  felix1982

jQuery File Upload是一款比较流行的文件上传的jQuery插件,在GitHub上有将近3万Star. 最近在一个ASP.NET MVC项目用到文件上传功能,所以把使用中的一些经验在这里记录一下。

这款插件的文档Demo还是比较详细的,所以基本功能和API我这里就不讲了,主要说下如何可以快速的使用这款插件。

安装

使用之前需要加载如下的js文件

简单示例

在前端页面中添加Html代码

  <span class="btn btn-success fileinput-button">
        <i class="glyphicon glyphicon-plus"></i>
        <span>Select files...</span>
        <!-- The file input field used as target for the file upload widget -->
        <input id="fileupload" type="file" name="files[]" multiple>
    </span>
    <br>
    <br>
    <!-- The global progress bar -->
    <div id="progress" class="progress">
        <div class="progress-bar progress-bar-success"></div>
    </div>

添加如下的Js代码:

 $('#fileupload').fileupload({
        url: “/UploadFile”,
        dataType: 'json',//注意这里如果返回数据不是Json,可以去掉该属性
        done: function (e, data) { //这是上传完成后的回调函数
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function (e, data) { //这里是用于进度条显示
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );
        }
    });

后端C#代码:
我这里是只处理单上传文件,你可以根据需要自行更改

  [HttpPost]
        public string UploadFile()
        {
            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];
                var fileName = Path.GetFileName(file.FileName);
                var folderPath = Path.Combine(Server.MapPath("~/Images/"), CommonHelper.GetUserName());
                file.SaveAs(path);
                return "上传成功";
            }
            return "";
        }

简单的使用就这么多,当然这个插件还有诸多的功能,有需要的可以再研究下。

上一篇 下一篇

猜你喜欢

热点阅读