コンテンツにスキップ

スクリプト開発 / レスポンスファイル 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(...) に渡さないでください。