将$ request_body_file复制到另一个文件中

我需要将请求主体的二进制内容存储在服务器文件系统中的文件中。

没有CGI,PHP或任何其他可用的可执行文件,因此只是在寻找使用nginx的东西。 我发现,当POSTing nginx将请求体的内容保存到由$ request_body_file指向的特定文件中时。 是否有任何nginx指令将此文件复制到服务器内的某个位置(服务器有写入权限)?

欢迎任何其他build议。

您可以使用client_body_temp_path来select服务器放置临时文件的client_body_temp_pathclient_body_in_file_only可以防止nginx在请求结束时删除文件(并且可能强制将文件保存到文件中,即使请求很小,我也不确定)不是很清楚)。 所以,这样的事情会工作:

 location /upload { client_body_temp_path /home/my_upload_directory/; client_body_in_file_only on; client_max_body_size 2G; } 

这将创build/home/my_upload_directory/000000001格式的文件。 我不认为有一种方法来改变文件名。