国产探花免费观看_亚洲丰满少妇自慰呻吟_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),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沧源| 两当县| 白水县| 长乐市| 昌江| 德钦县| 青田县| 永川市| 定结县| 陇西县| 康马县| 响水县| 大宁县| 元朗区| 宁晋县| 理塘县| 绥棱县| 明水县| 鹰潭市| 永寿县| 连江县| 湟源县| 萝北县| 新丰县| 广德县| 从江县| 康保县| 腾冲县| 衡山县| 扶风县| 潮州市| 凌云县| 怀宁县| 微山县| 乌鲁木齐县| 石泉县| 岗巴县| 云南省| 乃东县| 十堰市| 泗洪县|