ASP.NET MVC和AjaxFileUpload

时间:2009-05-07 18:19:59

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

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

4 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,我用

解决了这个问题
 public ContentResult UploadFile(FormCollection form, ...


  return Content("{success: false, ErrorMsg: 'someerror'}");

答案 1 :(得分:1)

答案 2 :(得分:1)

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

答案 3 :(得分:1)

在您的控制器中只包含" text / x-json"像这样:

 public JsonResult UploadFile(FormCollection form, ...


  return Json("{id: xxxx, text: 'bla bla bla'}", "text/x-json");