report_uploads
'report_uploads' 指令允许 NGINX 在文件上传过程中向客户端提供实时的上传进度更新。
NGINX upload progress tracking module
·
httpserverlocation
语法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' 指令定义并初始化。
⚠
上传的唯一标识符必须随每个上传请求正确传递;否则无法跟踪进度。
⚠
检查可能与其他处理上传的指令发生冲突的情况,确保功能顺畅。