.net mvc4 + ajaxfileupload.js 解决IE浏览器中弹出下载对话框问题

摘要:每个人遇到的问题都不一样,在网上找了一大圈都没有解决到我的问题!因为我的环境如标题所示,解决了这个问题。
主要问题:在于响应头的设置

Controller:

        [HttpPost]
        public ContentResult UploadFile(string user = WinTabConst.Space,int type = ConfigConst.Zero,string imgType = WinTabConst.Space,int objId = ConfigConst.Zero,DateTime? createDateTime = null)
        {
            HttpPostedFileBase imgFile = Request.Files["imgFile"];

            AttachmentBLL attachmentBll;
            if (!string.IsNullOrEmpty(user))
                attachmentBll = new AttachmentBLL(user);
            else
                attachmentBll = new AttachmentBLL();
            int userId = 0;
            users userModel = attachmentBll.CurUser;
            if (user != null)
                userId = userModel.UserID;
            return Content(JavascriptHelper.JsonSerializer.Serialize(attachmentBll.UploadFile(true,"",imgFile,type,imgType,objId,userId,createDateTime)));
        }


js:
$.ajaxFileUpload(
       {
           url: "/Companies/attachment/UploadFile",data: { "objId": objId,"createDateTime": createDateTime,"dir": "","type": "2","userid": UserID,"user": $.cookie('LoginInfo') },type: "post",secureuri: false,dataType: "text",fileElementId: "imgFile",success: function (data) {
               if (data != null && data == "") {//这个判断是因为当时格式为 json,IE接收到的 data为 "",但是图上又是传成功的问题
                   $(".uploadImg").hide();
                   $(".mask").hide();
               }else if (data != null && data.error == 0) {//我的正确执行的方法
                   $(".uploadImg").hide();
                   $(".mask").hide();
               } else {
                   AlertAlert("上传失败!");
               }
           },error: function (e) {
               $.messager.alert("提示","操作出现错误!");
           }
       }
   );

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...