跳轉到

指令碼開發 / 返回檔案 DFF.RESP_FILE

當返回的內容為「磁碟上的檔案」時,可使用 DFF.RESP_FILE(...) 進行細節控制。

引數 型別 必須 / 預設值 說明
file_path str 必須 指定返回檔案的路徑(相對於資原始檔目錄)
status_code int 200 DFF.RESP(...) 同名引數相同
headers dict None DFF.RESP(...) 同名引數相同
allow_304 bool False DFF.RESP(...) 同名引數相同
auto_delete bool False 指定為 True 時,檔案下載後自動從磁碟中刪除
download bool / str True 預設下載檔案且儲存名與原始檔名相同
指定為 False 時,讓瀏覽器儘可能直接開啟檔案
指定為字串時,按指定的值作為下載檔名

DFF.RESP_FILE(...) 會自動根據副檔名填充 HTTP 的 Content-Type 頭,預設以 file_path 為準,指定 download 字串時則以 download 值作為檔名下載

「資原始檔目錄」指的是容器內的 /data/resources 資料夾,正常部署後此資料夾會掛載到宿主機磁碟實現持久化儲存

示例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
@DFF.API('用例 1')
def case_1():
    '''
    下載資原始檔目錄下 user-guide.pdf 檔案
    '''
    return DFF.RESP_FILE('user-guide.pdf')

@DFF.API('用例 2')
def case_2():
    '''
    讓瀏覽器線上開啟資源目錄下的`user-guide.pdf`檔案
    '''
    return DFF.RESP_FILE('user-guide.pdf', download=False)

@DFF.API('用例 3')
def case_3():
    '''
    瀏覽器開啟資源目錄下 index.html 頁面
    '''
    return DFF.RESP_FILE('index.html', download=False)

@DFF.API('用例 4')
def case_4():
    '''
    下載資原始檔目錄下的 servey.xlsx 檔案,並儲存為「調查表。xlsx」
    '''
    return DFF.RESP_FILE('servey.xlsx', download='調查表。xlsx')

@DFF.API('用例 5')
def case_5():
    '''
    指定額外的響應頭
    '''
    headers = {
        'X-Author': 'Tom',
    }
    return DFF.RESP_FILE('user-guide.pdf', headers=headers)