upload_resumable

指令 `upload_resumable` 在 NGINX 中启用可续传上传,允许客户端恢复被中断的文件上传。

语法upload_resumable on | off;
默认值off
上下文http, server, location, if in location, limit_except
参数flag

说明

指令 upload_resumable 是 NGINX 上传模块的一部分,用于处理 multipart/form-data 文件上传并支持续传。当设置为 'on' 时,该指令允许客户端发送分片上传,并在上传中断时从特定字节范围继续上传文件。这对于在不可靠网络上进行的大文件传输尤其有用,在这种情况下中断可能经常发生。在续传时,服务器可以校验已存在的文件并接受后续的数据块,而无需重新上传整个文件。

该指令通过解析客户端发送的 Content-RangeX-Content-Range 请求头来工作,这些请求头告知服务器正在上传的字节范围。因此,服务器能够将传入数据与目标存储中已存在的数据合并。该指令可以应用于多个上下文,例如 httpserverlocation,从而根据应用需求灵活配置上传行为。

该设置可以全局启用或针对特定 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' 时,确保现有的文件处理做法与可续传策略一致。

← 返回所有指令