【问题标题】:ASP.NET MVC and AjaxFileUploadASP.NET MVC 和 AjaxFileUpload
【发布时间】:2010-10-24 14:05:50
【问题描述】:

好吧,这让我发疯了。我一直在尝试永远解决这个问题。我想使用ajaxFileUpload 执行异步上传。我让它将文件发布到我的控制器就好了,但是,当我尝试从中返回 JsonResult 时,我得到一个“将文件另存为”对话框。我已经尝试了一切来解决这个问题,我得到一个错误或“另存为”对话框。我假设它与发布文件时传入的内容类型有关。如果有人能提供帮助,我将不胜感激。提前致谢!

【问题讨论】:

    标签: jquery asp.net-mvc file-upload


    【解决方案1】:

    我遇到了同样的问题,我解决了

     public ContentResult UploadFile(FormCollection form, ...
    
    
      return Content("{success: false, ErrorMsg: 'someerror'}");
    

    【讨论】:

      【解决方案2】:

      如果您查看那里的代码,它实际上是在创建一个新表单和 iframe,然后将表单发布到 iframe。响应被写回 iframe,然后代码将其拾取并返回。我假设如果您直接在浏览器中加载 JsonResult,它也会导致弹出相同的下载框。检查与 JsonResult 一起返回的标头,以了解为什么在作为页面加载时它认为是下载。也许您需要将 Content-Type 设置为 text/plain 或删除 Content-Disposition 标头。

      【讨论】:

        【解决方案3】:

        在你的控制器中只包含这样的“text/x-json”:

         public JsonResult UploadFile(FormCollection form, ...
        
        
          return Json("{id: xxxx, text: 'bla bla bla'}", "text/x-json");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-08
          • 2022-08-18
          • 2016-05-17
          相关资源
          最近更新 更多