upload_progress_jsonp_output
指令 `upload_progress_jsonp_output` 在 NGINX 中为上传进度响应启用 JSONP 支持。
NGINX upload progress tracking module
·
httpserverlocation
语法upload_progress_jsonp_output;
默认值none
上下文http, server, location
参数none
说明
指令 upload_progress_jsonp_output 属于 NGINX 的上传进度跟踪模块,该模块允许通过 POST 请求监控文件上传的进度。该指令专门将上传进度报告机制配置为使用 JSONP 格式,便于与需要异步更新上传状态的 web 应用集成。启用此指令后,开发者可以使用 JavaScript 回调函数直接处理上传进度响应,从而在不产生跨域问题的情况下无缝更新用户界面。
该指令必须放在诸如 http、server 或 location 等上下文中。启用后,它与上传进度模块内的其他指令配置一起工作,确保上传进度响应以适合 JSONP 处理的格式输出。在浏览器安全策略阻止对不同域的直接调用的场景中,使用 JSONP 尤其有利,从而提高与现代 web 应用的兼容性。
该指令不接受任何参数,从而简化了配置。如果在同一上下文中同时使用 upload_progress_jsonp_output 和其非 JSONP 的对应指令,应注意避免输出格式冲突,因为 NGINX 在检测到冲突配置时会生成错误响应。
配置示例
location /upload {
upload_progress jsonp_output;
track_uploads $upload_progress_zone 30s;
}
location /upload_progress {
# Respond to upload progress requests
upload_progress_jsonp_output;
}⚠
确保在请求中正确指定 JavaScript 回调函数,以便正确解析 JSONP 输出。
⚠
请注意,如果未正确验证,使用 JSONP 可能会使应用程序暴露于 XSS 风险。
⚠
除非经过谨慎管理,否则应避免将此指令与其他输出格式同时启用,因为这可能导致响应格式不一致。