跳转至

脚本开发 / 响应大量数据 DFF.RESP_LARGE_DATA

返回 MB 级或更大内容时,直接 return 会增加 JSON 序列化、Redis 消息队列和内部网络通信的开销。DFF.RESP_LARGE_DATA(...) 会将内容写入临时文件并以文件响应返回,避免在内部消息中传递完整值。

参数

参数 类型 必须 / 默认值 说明
data str / dict / list / tuple 必须 大段文本或 JSON 可序列化数据
content_type str 自动推断 字典、列表和元组默认为 "json",其他类型默认为 "txt";也可显式指定
示例
1
2
3
@DFF.API('导出大 JSON')
def export_large_json():
    return DFF.RESP_LARGE_DATA({'items': load_many_items()}, content_type='json')

所有 Web 服务和 Worker 必须访问同一份资源存储

本方法依赖共享资源目录。高可用或多 Worker 部署时,必须保证资源目录配置和挂载一致。

非字符串数据必须能够 JSON 序列化。二进制数据应先写入资源目录,再使用 DFF.RESP_FILE(...) 返回。

content_type 应使用固定的短标签,如 "json""txt""html",不要传入 MIME 字符串、路径文本或来自请求的值。

正数 DFF.API(cache_result=...) 可能保留生成的响应以供缓存复用;未启用缓存时,响应发送后会删除临时文件。Script 不应依赖临时文件名或保留时间。小数据应直接 return,仅在大数据场景使用本方法。