使用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);
}
});
警报消息已成功显示在屏幕上,但不显示保存或打开文件的对话框。有人建议成功写什么来获得它?
答案 0 :(得分:1)
试试这个..
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应来自您的数据
答案 1 :(得分:0)
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!'); });