Próbuję skonfigurować Nginx do obsługi przesyłania plików i przekazać informacje o pliku na serwer backend po zakończeniu. Natknąłem się na wpis na stronie https://coderwall.com/p/swgfvw, który pokazuje, jak to zrobić i widzę plik przesyłany do katalogu/tmp. Chciałbym jednak również przekazać nazwę pliku i typ (Content-Disposition i Content-Type) do serwera zaplecza.Przesyłanie plików Nginx do serwera zaplecza
Próbowałem uchwycenie tego, co wpłynęło do portu serwera HTTP i zobaczyć poniżej,
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
następuje danych.
Moje nginx blok lokalizacja do przesłania jest
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;
}
Dzięki temu jestem w stanie przekazać i otrzymać następujące w moim backend,
'content-type': 'multipart/form-data; boundary=------------------------6060af4f937c14c9'
'x-file': '/tmp/0000000001'
ale naprawdę chciałbym wiedzieć, jak ja mogę uzyskać Każda pomoc z tym jest bardzo doceniana.
P.S: mam nadzieję, że jest w porządku dla tego pytania tutaj? (Próbowałem superuser ale nie wydaje się mieć dużo aktywności)
Czy kiedykolwiek miałeś szczęście? Czy nagłówki Content-Disposition znajdują się u góry oczekiwanego zachowania pliku? A jeśli tak, czy później je rozebrasz, aby wyświetlić plik (obrazek) lub instancję? – Mike
Właściwie nie, zdecydowałem się nie używać tego podejścia na razie, ale myślę, że parsowanie pliku na wyższym serwerze byłoby jednym ze sposobów, aby to zadziałało (prawdopodobnie spróbuję czegoś takiego, kiedy dostanę taką szansę). –
Zastanawiam się również, czy ktoś miał szczęście w tym ... – stackular