Dosya yüklemelerini işlemek için nginx'i kurmaya ve dosya bittiğinde dosya bilgilerini bir arka uç sunucusuna iletmeye çalışıyorum. Bunu nasıl yapılacağını gösteren https://coderwall.com/p/swgfvw adresindeki bir gönderiye rastladım ve/tmp dizinine yüklenen bir dosyayı görebiliyorum. Ancak, dosya adını ve arka uç sunucusuna (Content-Disposition ve Content-Type) tipini de yazmak istiyorum. nginx pass filetype to backend sunucusu
BenPOST /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
verilerine ardından http sunucusu ağzında alınan ve aşağıya bakın ne yakalayan çalıştı. Yükleme için My nginx yeri bloktur
, ben geçmek ve benim arka uç aşağıdaki alabilecek duyuyorum Bununla
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'
ama gerçekten istiyorum bilmek nasıl Arka uçuma
'u alabilirsiniz. Bununla ilgili herhangi bir yardım çok takdir edilmektedir.
P.S: Bu soru için bu soruyu sorun değil mi? (Superuser denedik ama çok aktiviteye sahip görünmüyor) başlığı gözardı ediliyor ise
proxy_pass_header Content-Disposition;
deneyin veya doğrudan özel başlıklarında
proxy_set_header Content-Disposition $http_content_disposition;
Bu konuda hiç şansınız oldu mu? Content-Disposition, dosyanın beklenen davranışının üstünde mi yer alıyor? Ve eğer öyleyse, daha sonra, dosyayı (görüntü) veya örneği görüntülemek için onları çıkarır mısınız? – Mike
Aslında hayır, bu yaklaşımı şimdilik kullanmaya karar verdim, ancak dosyayı akışaşağı sunucusundaki ayrıştırma işleminin bunu elde etmenin bir yolu olacağını düşünüyorum (şansa sahip olduğumda muhtemelen böyle bir şeyi deneyeceğim). –
Ben de herhangi biri ile herhangi bir şansın olduğunu merak ediyorum ... – stackular