跳轉至

腳本開發 / 返回文件 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)