Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Axios从Django下载文件_Django_Axios - Fatal编程技术网

通过Axios从Django下载文件

通过Axios从Django下载文件,django,axios,Django,Axios,我正在尝试使用Axios和Django从blob请求中获取文件名 Django的观点: with open(full_file_path, 'rb') as f: response = HttpResponse(f, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') file_expr = "filename*=utf-8''{}".fo

我正在尝试使用Axios和Django从blob请求中获取文件名

Django的观点:

with open(full_file_path, 'rb') as f:   
    response = HttpResponse(f, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')  
    file_expr = "filename*=utf-8''{}".format(quote(file_name_with_ext))  
    response['Content-Disposition'] = 'attachment; {}'.format(file_expr)  
return response
前端:

axios
    .request({
        url,
        method,
        responseType: 'blob',
    })
    .then(({ data }) => {
        console.log(data);
        const downloadUrl = window.URL.createObjectURL(new Blob([data]));
        const link = document.createElement('a');
        link.href = downloadUrl;
        link.setAttribute('download', 'file.xlsx');
        document.body.appendChild(link);
        link.click();
        link.remove();
    });
但参数“data”不包含允许我获取文件名的标题


有什么解决办法吗?

代替这个
。然后({data})=>{
使用这个:
。然后(response=>{

response.data
是您可以通过
console.log(response.data);


希望它能帮助而不是
。然后({data})=>{
使用这个:
。然后(response=>{

response.data
是您可以通过
console.log(response.data);

希望能有帮助