鍍金池/ 問答/Python  HTML/ Python Flask 用戶端文件如何下載

Python Flask 用戶端文件如何下載

在做一個小項目,現(xiàn)在已經(jīng)實現(xiàn)的是:使用flask發(fā)布服務(wù)后,用戶訪問某個url會在我本地生成一個pdf文件。
問題是:如何使此pdf文件發(fā)送到用戶處?
大概思路是什么?

回答
編輯回答
尤禮

已經(jīng)解決了,使用flask的send_from_directory方法

2017年12月19日 00:10
編輯回答
款爺

我的思路如下:
首先,在服務(wù)器端的 static 文件夾下,也就是靜態(tài)文件目錄下,生成 PDF 文件,哪怕是臨時文件也行。
第二步,使用 url_for('static', filename='pdf文件名')來發(fā)布,一般情況下,制作一個 download 按鈕即可:

<a class="btn btn-primary" href="url_for('static', filename='pdf文件名')">PDF文件下載</a>

后話,這樣的方式,我沒有親自測試,因為是涉及到PDF文件,會涉及到如下情況:

有可能不是下載pdf文件,而是直接用瀏覽器打開PDF文件,這樣你得需要點擊下載按鈕,才能下載。

圖片描述

出現(xiàn)這樣的情況,主要是因為當前的主流瀏覽器,比如chrome或firefox本身都集成了pdf在線版閱讀器,比如如圖所示的pdf.js就是firefox本身所集成的。

2017年7月9日 13:33
編輯回答
半心人

需要前后端配合。

在做一個小項目,現(xiàn)在已經(jīng)實現(xiàn)的是:使用flask發(fā)布服務(wù)后,用戶訪問某個url會在我本地生成一個pdf文件。

“某個 URL”在本地生成 PDF 之后,返回一個 json ,里面有這個 PDF 文件的地址。
前端的這個請求,獲取 json 響應(yīng)后,直接重定向到這個 PDF 的地址即可。

2017年12月22日 04:24