我有一个带return的django函数:
...
return FileResponse(open('demo.docx', 'rb'))
我使用 AJAX 在客户端下载它。现在我需要在客户端下载它。我使用以下代码:
...
success:function(response){
var blob = new Blob([response]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "file.docx";
link.click();
},
...
编辑:
function func(){
var csrftoken = $("[name=csrfmiddlewaretoken]").val();
$.ajax({
type: 'POST',
url: '/myapp/func/',
headers:{
"X-CSRFToken": csrftoken
},
data: {name:"",'image1': Data1},
success:function(response){
var blob = new Blob([response]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.setAttribute('target', '_blank');
link.download = "file.docx";
link.click();
},
error : function(xhr,errmsg,err) {
alert("ajax error: func");
}
});
}
然而,它下载了一个损坏的东西,可能不是一个docx文件。我怎样才能在客户端上得到我作为docx阅读的东西?
1条答案
按热度按时间bt1cpqcv1#
问题可能是
a
元素上缺少download属性。请尝试以下操作: