2014-04-24 10 views
6

मैं फ़ाइल अपलोड को संभालने के लिए nginx सेट अप करने और एक बार बैकएंड सर्वर पर फ़ाइल जानकारी पास करने की कोशिश कर रहा हूं। मैं https://coderwall.com/p/swgfvw पर एक पोस्ट में आया जो दिखाता है कि यह कैसे करें और मैं/tmp निर्देशिका में फ़ाइल अपलोड करने में सक्षम हूं। हालांकि मैं बैकएंड सर्वर पर फ़ाइल नाम और प्रकार (सामग्री-वितरण और सामग्री-प्रकार) को भी पास करना चाहता हूं।nginx पास फ़ाइल प्रकार बैकएंड सर्वर

मैं कब्जा क्या http सर्वर पोर्ट पर प्राप्त हुआ है और नीचे देखें है की कोशिश की,

POST /upload HTTP/1.1 
User-Agent: curl/7.32.0 
Host: MyHostName 
Accept: */* 
Content-Length: 4431 
Expect: 100-continue 
Content-Type: multipart/form-data; boundary=------------------------6060af4f937c14c9 

--------------------------6060af4f937c14c9 
Content-Disposition: form-data; name="filedata"; filename="sessions.txt" 
Content-Type: text/plain 

डेटा का स्थान है।

अपलोड करने के लिए मेरे nginx स्थान खंड है,

 location /upload { 
       limit_except POST  { deny all; } 

       client_body_temp_path   /tmp/; 
       client_body_in_file_only  on; 
       client_body_buffer_size   128K; 
       client_max_body_size   100M; 

       proxy_redirect     off; 
       proxy_set_header    X-FILE $request_body_file; 
       proxy_set_header    X-Forwared-For $proxy_add_x_forwarded_for; 
       proxy_set_header    Host $http_host; 
       proxy_set_header    X-NginX-Proxy true; 
       proxy_set_header    Connection ""; 
       proxy_pass_request_headers  on; 
       proxy_set_body     off; 
       proxy_http_version    1.1; 
       proxy_pass      http://my_backend; 
     } 
इस मैं को दे और मेरे बैकएंड पर निम्न प्राप्त करने में सक्षम हूँ के साथ

,

'content-type': 'multipart/form-data; boundary=------------------------6060af4f937c14c9' 
'x-file': '/tmp/0000000001' 

लेकिन वास्तव में चाहते हैं पता है कि कैसे मैं

Content-Disposition: form-data; name="filedata"; filename="sessions.txt" 
Content-Type: text/plain 

मेरे बैकएंड में प्राप्त कर सकते हैं। इसके साथ कोई मदद बहुत सराहना की है।

पीएस: उम्मीद है कि यह प्रश्न यहां ठीक है? (सुपर उपयोगकर्ता की कोशिश की लेकिन यह बहुत गतिविधि है प्रतीत नहीं होता है)

proxy_pass_header Content-Disposition; 

कोशिश या सीधे पारित

proxy_set_header  Content-Disposition $http_content_disposition; 
+0

क्या आपके पास कभी इसके साथ कोई भाग्य है? फ़ाइल के अपेक्षित व्यवहार के शीर्ष पर सामग्री-विस्थापन शीर्षलेख है? और यदि हां, तो क्या आप बाद में फ़ाइल (छवि) या उदाहरण प्रदर्शित करने के लिए उन्हें बाहर निकाल देते हैं? – Mike

+0

असल में नहीं, मैंने अभी इस दृष्टिकोण का उपयोग करने का फैसला किया है, लेकिन सोचें कि अपस्ट्रीम सर्वर पर फ़ाइल को पार्स करने से यह काम करने के लिए एक तरीका होगा (शायद मुझे ऐसा मौका मिलेगा जब मुझे मौका मिलेगा)। –

+0

मुझे यह भी आश्चर्य है कि किसी के साथ कोई भाग्य है ... – stackular

उत्तर

0

, nginx में अनदेखा, एक विकल्प जो

underscores_in_headers पर मदद कर सकता है;

+0

दोनों ने कोशिश की लेकिन अभी भी बैकएंड सर्वर पर सामग्री-डिस्पॉस्टन प्राप्त नहीं है :( –

0

कस्टम हेडर में अंडरस्कोर चुपचाप कर रहे हैं हैडर पर ध्यान नहीं दिया जा रहा है

संबंधित मुद्दे