使用IE-10/11
我正在下载JQuery格式的文件
Common.ajax({
dataType: 'text',
type: 'GET',
url: link,
data: {'_CONV_ID': convId},
success: function (data) {
alert("File DOwnloaded" + data);
//How to say Browser to open dialog to open, save cancel the file download
},
error: function (result) {
$.unblockUI();
$.log(result.responseText);
}
});警告消息已成功显示在屏幕上,但未显示保存或打开文件的对话框。有人建议在成功的时候写些什么才能做到这一点吗?
发布于 2016-05-26 13:57:01
试试这个..。
var a = document.createElement('a');
var fileurl= window.URL.createObjectURL(new Blob([byteArray], { type: 'application/octet-stream' }));
a.href = fileurl;
a.download = filename; // Set the file name.
a.style.display = 'none';
document.body.appendChild(a);
a.click();
delete a;
window.URL.revokeObjectURL(fileurl);byteArray应来自您的数据
发布于 2016-05-26 13:59:28
Bluish在这一点上是完全正确的,你不能通过Ajax做到这一点,因为JavaScript不能直接将文件保存到用户的计算机上(出于安全考虑)。不幸的是,将主窗口的URL指向您的文件下载意味着您几乎无法控制文件下载发生时的用户体验。
我创建了jQuery File Download,它通过OnSuccess和OnFailure回调来提供更好的用户体验,从而提供类似Ajax的文件下载体验。看看我关于插件解决的常见问题的blog post,以及一些使用它的方法,还有一个demo of jQuery File Download in action。这是source
这是一个简单的用例演示,使用带有promises的插件source。demo page还包括许多其他的“更好的用户体验”的例子。
$.fileDownload('some/file.pdf')
.done(function () { alert('File download a success!'); })
.fail(function () { alert('File download failed!'); });https://stackoverflow.com/questions/37452574
复制相似问题