跳转至

脚本开发 / 响应文件 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(...)