好的,这让我疯了。我一直在努力想象出这一点。我想使用ajaxFileUpload执行异步上传。我把文件发布到我的控制器就好了,但是,当我尝试从它返回一个JsonResult时,我得到一个“将文件另存为”对话框。我已经尝试了一切来解决这个问题,我得到一个错误或“另存为”对话框。我假设它与文件发布时传入的内容类型有关。如果有人能提供帮助,我将非常感激。提前谢谢!
答案 0 :(得分:5)
我遇到了同样的问题,我用
解决了这个问题 public ContentResult UploadFile(FormCollection form, ...
return Content("{success: false, ErrorMsg: 'someerror'}");
答案 1 :(得分:1)
希望以下链接可以帮助您,它包含整个ajax文件上传视频与asp.net mvc。
答案 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");