跳轉至

腳本開發 / 響應文件 DFF.RESP_FILE

返回資源目錄中已經存在的文件時,使用 DFF.RESP_FILE(...)。file_path 直接填寫資源相對路徑,無需先調用 DFF.RSRC(...)。

參數

參數 類型 必須 / 默認值 説明
file_path str 必須 資源目錄相對路徑
status_code int 200 HTTP 狀態碼
headers dict None 額外響應頭
allow_304 bool False 是否允許瀏覽器使用 304 緩存
auto_delete bool False 響應發送後是否自動刪除磁盤文件
download bool / str True True 使用原文件名下載;False 嘗試在瀏覽器內打開;字符串指定下載名

系統會根據文件擴展名自動填充 Content-Type。

示例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
def download_pdf():
    return DFF.RESP_FILE('user-guide.pdf')

def open_pdf_in_browser():
    return DFF.RESP_FILE('user-guide.pdf', download=False)

def download_report():
    return DFF.RESP_FILE('report.xlsx', download='report.xlsx')

def download_temporary_export():
    return DFF.RESP_FILE('tmp/export.csv', auto_delete=True)

構造 DFF.RESP_FILE(...) 時,文件必須已經存在,且解析後的路徑必須位於配置的資源根目錄內。auto_delete=True 會在響應發送後刪除文件,共享或需要重複使用的文件不得啓用此選項。

運行時生成的大文件應先寫入資源目錄,再通過本方法返回;臨時文件可以使用 auto_delete=True。二進制輸出必須寫入二進制文件,不要將二進制字節傳給 DFF.RESP(...) 或 DFF.RESP_LARGE_DATA(...)。