nginx文件上载,仅在文件中使用客户端\u body\u

nginx文件上载,仅在文件中使用客户端\u body\u,nginx,file-upload,Nginx,File Upload,晚上好,, 我需要将静态内容上传到nginx服务器1.9(所以上传模块不适用于此版本)。我已经阅读了这篇文章,并按照说明一步一步地做了。除了nginx数据目录中的文件名之外,其他一切都适合我。文件名看起来像“0000000001”、“0061565403”等等如何使用正确的名称保存文件? 这是我的nginx位置配置: location /upload { limit_except POST { deny all; } client_body_temp_path

晚上好,, 我需要将静态内容上传到nginx服务器1.9(所以上传模块不适用于此版本)。我已经阅读了这篇文章,并按照说明一步一步地做了。除了nginx数据目录中的文件名之外,其他一切都适合我。文件名看起来像“0000000001”、“0061565403”等等如何使用正确的名称保存文件? 这是我的nginx位置配置:

location /upload {
limit_except POST              { deny all; }
client_body_temp_path          /data/;
client_body_in_file_only       on;
client_body_buffer_size        128K;
client_max_body_size           50M;
proxy_pass_request_headers     on;
proxy_set_header content-type "text/html";
proxy_set_body                 $request_body_file;
proxy_pass                     http://localhost:8080/
proxy_redirect                 off;}

您可以在客户端中使用HTTP头传递正确的名称(无论是什么),例如:


由于您在上使用的是
代理\u传递\u请求\u头,因此该头在后端可见,您可以在保存文件时使用它。但是,当使用标题时,文件名仅限于使用ASCII字符,请参阅。

我唯一能够做到这一点的方法是将原始文件名作为参数发送(我使用JS将文件名复制到隐藏字段),然后在服务器上,如果我将临时文件存储到文件系统,在将文件保存到“正确”位置的过程中,我使用该参数重命名文件


不是很漂亮,但很管用

你有什么例子吗?
Correct-Filename: my-correct-filename