国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue element中axios下載文件(后端Python)

2019-11-19 11:36:20
字體:
來源:轉載
供稿:網友

•axios 接受文件流,需要設置 {responseType:'arraybuffer'}

axios.post(  apiUrl,  formdata,   {responseType:'arraybuffer'}).then(res=> {  if (res.status === 200) {   let blob = new Blob([res.data], {    type: res.headers['content-type']    });    const fileName = res.headers['content-disposition'];   const title = fileName && (fileName.indexOf('filename=') !== -1) ? fileName.split('=')[1] : 'download';    require('script-loader!file-saver');   saveAs(blob, title);} }).catch();

注: axios 中 response 表示服務器響應的數據類型,可以是 arraybuffer , blob, document , json , text , stream . 默認為: json

•后端發送文件:Python

from flask import send_from_directory@admin_bp.route('/tasksothers/download', methods=["GET", "POST"])@auth.login_requireddef api_tasksothers_download():    root_path = ''    src_name = "a.sql"    upload_path = os.path.join(root_path, src_name)    print("upload_path =", upload_path)    if os.path.isfile(upload_path):      response = send_from_directory(root_path, src_name, as_attachment=True)      print("response: ",response)      response.headers["Access-Control-Expose-Headers"] = "Content-disposition"      print("response: ", response.headers)      return response  

注: 如果 response.header 中沒有添加  Access-Control-Expose-Headers 這個參數(代表:服務器允許瀏覽器訪問的頭(headers)的白名單),vue中就無法獲取 content-disposition,即 res.headers['content-disposition'];無法找到

總結

以上所述是小編給大家給大家介紹的vue element中axios下載文件(后端Python),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新化县| 杭锦旗| 临高县| 柳州市| 普安县| 亚东县| 乐陵市| 乡宁县| 休宁县| 宣恩县| 临汾市| 东明县| 尤溪县| 洪湖市| 关岭| 体育| 宽城| 岑巩县| 大渡口区| 镇原县| 兰考县| 临夏县| 大竹县| 沁源县| 旺苍县| 教育| 曲周县| 泉州市| 台江县| 比如县| 建始县| 湖口县| 大庆市| 静安区| 太康县| 乡宁县| 盖州市| 京山县| 内江市| 大埔县| 连州市|