upload_resumable
指令 `upload_resumable` 在 NGINX 中启用可续传上传,允许客户端恢复被中断的文件上传。
NGINX module for handling file uploads
·
httpserverlocationif in locationlimit_except
语法upload_resumable on | off;
默认值off
上下文http, server, location, if in location, limit_except
参数flag
说明
指令 upload_resumable 是 NGINX 上传模块的一部分,用于处理 multipart/form-data 文件上传并支持续传。当设置为 'on' 时,该指令允许客户端发送分片上传,并在上传中断时从特定字节范围继续上传文件。这对于在不可靠网络上进行的大文件传输尤其有用,在这种情况下中断可能经常发生。在续传时,服务器可以校验已存在的文件并接受后续的数据块,而无需重新上传整个文件。
该指令通过解析客户端发送的 Content-Range 或 X-Content-Range 请求头来工作,这些请求头告知服务器正在上传的字节范围。因此,服务器能够将传入数据与目标存储中已存在的数据合并。该指令可以应用于多个上下文,例如 http、server 和 location,从而根据应用需求灵活配置上传行为。
该设置可以全局启用或针对特定 location 启用,从而对不同路由的上传行为进行细粒度控制。如果将此指令设置为 'off',则不允许续传,任何中断的上传都必须从头重新开始。
配置示例
server {
listen 80;
server_name example.com;
location /upload {
upload_pass /upload_handler;
upload_store /tmp/uploads;
upload_resumable on;
}
}⚠
确保客户端对可续传上传具有适当支持,因为并非所有客户端都能正确处理 Content-Range 头部。
⚠
如果配置错误,不完整的上传可能不会被正确接受,从而导致数据丢失或损坏。
⚠
在将 'off' 切换为 'on' 时,确保现有的文件处理做法与可续传策略一致。