我正在使用this插件让用户通过ajax上传图片。
要创建上传器并触发帖子,请使用此jQuery函数:
function createUploader() {
var uploader = new qq.FileUploader({
element: document.getElementById('file-uploader'),
allowedExtensions: ['pdf'],
multiple: false,
action: '@Url.Action("AjaxUpload", "Upload")',
onComplete: function(id, fileName, responseJSON){
window.location.href = responseJSON.message;
}
});
}
好吧,在responseJSON.message
中,我将返回文件上传的路径(实际转换),我正在使用window.location.href
来强制浏览器显示该文件的用户DOWNLOAD框
这适用于FF和Chrome,但在IE上它说:
Do you want to open or save AjaxUpload from localhost?
如果你按下open,而不是从指定位置获取文件,你实际上会得到一个包含responseJSON消息的文件。
任何可以为我提供这个问题的线索的jQuery大师?
更新:我可以确认的问题是问题不在于window.location.href = responseJSON.message;
,因为即使我删除了这一行并将alert('something')
发生同样的问题......所以IE尝试打开JSON响应而不是解析onComplete
...
答案 0 :(得分:5)
尝试
return Json(new { Data = new { message = outputFilePathResponse } }, "text/html");