.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("提示", "操作出现错误!

"); } } );




原文地址:https://www.cnblogs.com/llguanli/p/6900268.html