2016-04-05 84 views
2

晚上好, 我需要上傳靜態內容到nginx服務器1.9(所以上傳模塊不適用於此版本)。我已閱讀文章"Nginx direct file upload without passing them through backend",並按照說明一步一步。除了nginx數據目錄中的文件名之外,一切都適用於我。文件名看起來像'0000000001','0061565403'等等。 我應該如何使用正確的名字保存文件? 這裏是我的nginx的位置配置:nginx文件上傳與client_body_in_file_only

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;} 

回答

2

您可以在客戶端使用HTTP標題來傳遞正確的名稱(不管它是什麼),例如:

Correct-Filename: my-correct-filename 

而且由於你使用proxy_pass_request_headers on,標題在後端可見,您可以在保存文件時使用它。但是,在使用標題時,文件名僅限於使用ASCII字符,請參閱this answer