report_uploads

'report_uploads' 指令允许 NGINX 在文件上传过程中向客户端提供实时的上传进度更新。

语法report_uploads ;
默认值none
上下文http, server, location
参数1

说明

'report_uploads' 指令是 NGINX 上传进度跟踪模块的一个重要功能,它启用向客户端报告上传进度的机制。使用该指令时,会产生包含当前文件上传进度信息的 HTTP 响应。这对需要在文件上传期间向用户提供反馈的 Web 应用非常有用,能够显示已上传的比例、剩余时间以及其他相关指标。

配置该指令时需要一个参数,用于指定用于跟踪上传进度的 shared memory zone。该 shared memory zone 存储每个上传的状态,包括进度、错误和完成状态的详细信息。要使用此功能,上传请求必须包含一个唯一标识符,将进度报告与相应的上传关联。该标识符可以通过 HTTP GET 参数传递,也可以作为头部 (X-Progress-ID) 传递。

该指令可以放在 'http'、'server' 或 'location' 上下文中,从而在何处报告上传跟踪方面提供灵活性。使用此指令前,务必确保相关的 shared memory zone 已正确定义,因为指令在上传过程中会依赖该 zone 来维护跟踪数据。

配置示例

http {
    upload_progress my_zone 1m;
    server {
        location /upload {
            track_uploads my_zone 30s;
            report_uploads my_zone;
        }
    }
}

确保在 'report_uploads' 中指定的共享内存区域已使用相应的 'upload_progress' 指令定义并初始化。

上传的唯一标识符必须随每个上传请求正确传递;否则无法跟踪进度。

检查可能与其他处理上传的指令发生冲突的情况,确保功能顺畅。

← 返回所有指令