ajaxfileupload 文件上传

Posted manwwx129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajaxfileupload 文件上传相关的知识,希望对你有一定的参考价值。

 先引用 ajaxfileupload.js   没有自己去csdn下

 

接下来是html


 

<input type="file" id="file1" name="file" style="display: none" accept="image/x-png,image/gif,image/jpeg,image/bmp" multiple="multiple" />
  <button type="button" class="btn btn-info" id="btnFile"><i class="fa fa-cloud-upload">&nbsp;上传</i></button>

其中 accept  可以指定上传格式  multiple="multiple"  此属性可进行多文件选择

 

JS部分

 

 $("#btnFile").click(function () {
        $("#file1").click();
    })
    $("#file1").change(function () {
        if ($("#file1").val().length > 0) {
            ajaxFileUpload();
        }
        else {
            swal({ title: ‘请选择上传文件!‘, text: ‘‘, type: ‘info‘ });
        }
    });

 

 function ajaxFileUpload() {
        $.ajaxFileUpload
        (
            {
                url: ‘/FinancialReimbursement/FinancialReimbursement/Upload‘, //用于文件上传的服务器端请求地址
                type: ‘post‘,
                data: { Id: ‘123‘, name: ‘add‘ }, //此参数非常严谨,写错一个引号都不行
                secureuri: false, //是否需要安全协议,一般设置为false
                fileElementId: ‘file1‘, //文件上传域的ID
                dataType: ‘json‘, //返回值类型 一般设置为json
                success: function (data, status)  //服务器成功响应处理函数
                {
                    alert("上传成功");
                },
                error: function (data, status, e)//服务器响应失败处理函数
                {
                    alert(e);
                }
            }
        )

 

后台部分 

 public ActionResult Upload()
        {
            NameValueCollection nvc = System.Web.HttpContext.Current.Request.Form;

            string type = nvc.Get("name");//获取参数

           HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;

          

  if (hfc.Count > 0 )
            {
                #region  执行多个文件上传
                for (int i = 0; i < hfc.Count; i++)
                {
                    var FileNameArr = hfc[i].FileName.Split(‘.‘);
                   
                    string FileName = DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + FileNameArr[0] + "." + FileNameArr[1];
                    imgPath += "/AllFileUp/ForTheAttachment/" + FileName + ",";
                    string imgP = "/AllFileUp/ForTheAttachment/" + FileName;
                    string PhysicalPath = Server.MapPath(imgP);
                   if (!Directory.Exists(Server.MapPath("/AllFileUp/ForTheAttachment")))//存放路径文件夹不存在就自动新建
                   {
                       Directory.CreateDirectory(Server.MapPath("/AllFileUp/ForTheAttachment"));
                   }
                    hfc[i].SaveAs(PhysicalPath);                 
                }
                #endregion 
            }

  return Json(new { count = hfc.Count});//返回保存文件的个数

      } 

 

   写的很乱 第一次写 一点格式都没有 哈哈哈 

 

 

 

 

  


以上是关于ajaxfileupload 文件上传的主要内容,如果未能解决你的问题,请参考以下文章

利用ajaxfileupload.js异步上传文件

Jquery+ajaxfileupload上传文件

ajaxFileUpload上传带参数文件及JS验证文件大小

十九多文件上传(ajaxFileupload实现多文件上传功能)

jsp借助了ajaxfileupload实现上传文件

ajaxFileUpload.js插件支持多文件上传的方法