CJe*_*CJe 5 javascript jquery download
我接管了以下代码段:
$.ajax({
contentType: 'application/json; charset=utf-8',
type: 'POST',
url: '/api/generalapi/generatecsv',
data: data,
success: function (response) {
window.open("data:text/csv;base64," + response, '', '');
}
});
Run Code Online (Sandbox Code Playgroud)
我试过添加
filename=orders.csv
Run Code Online (Sandbox Code Playgroud)
到 window.open 但文件仍然总是以“下载”的形式出现。没有扩展或任何东西。
有没有办法使用上面的代码控制文件名?
尝试这样的事情:
function saveContent(fileContents, fileName)
{
var link = document.createElement('a');
link.download = fileName;
link.href = 'data:,' + fileContents;
link.click();
}
$.ajax({
contentType: 'application/json; charset=utf-8',
type: 'POST',
url: '/api/generalapi/generatecsv',
data: data,
success: function (response) {
saveContent("text/csv;base64," + response, 'orders.csv');
}
});
Run Code Online (Sandbox Code Playgroud)
关键部分是link.download = fileName;
,它将 HTML5download
属性添加到动态创建的用于下载的链接中。