• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Django - upload plików do serwera

0 głosów
92 wizyt
pytanie zadane 2 października 2018 w Python, Django przez MastaDevelopa Użytkownik (500 p.)
zmienione kategorie 2 października 2018 przez JSHolic
Cześć. Planuję napisać projekt, który miałby się składać z kilku części (choć po tej dyskusji, może to ulec zmianie):
- front-end - niezależna apka w JS
- API
- baza danych
- i... FTP?

No właśnie. Jak w opisanej za chwilę sytuacji, powinna wyglądać komunikacja pomiędzy tymi komponentami? Z frontu leci request do serwera (wraz z plikiem), na poziomie API wyciągam sobie dane dotyczące pliku (jak załóżmy nazwę, usera który go dodał i inne pierdoły) a sam plik przesyłam dalej do serwera FTP, dobrze to rozumiem? Przeszło mi również przez myśl, aby plik wysłać bezpośrednio z frontu do FTP, a do API tylko niezbędne dane, które wpisałbym do bazy danych, ale to rozwiązanie nie podoba mi się o tyle, że jednak dostęp frontu do czegokolwiek, chiałbym kontrolować przez API właśnie.

Co o tym sądzicie? Macie może jakieś inne pomysły, lub sugestie jak mógłbym poprawić swoją wizję?

1 odpowiedź

+1 głos
odpowiedź 2 października 2018 przez adrian17 Ekspert (204,320 p.)

a sam plik przesyłam dalej do serwera FTP, dobrze to rozumiem?

Co, nie, FTP nie ma żadnego związku z uploadowaniem/pobieraniem plików przez HTTP.

Django jak najbardziej może dostać pliki przez HTTP, po czym możesz je po prostu zapisać do pliku.

Tu jest oficjalna dokumentacja: https://docs.djangoproject.com/en/2.1/topics/http/file-uploads/

komentarz 2 października 2018 przez MastaDevelopa Użytkownik (500 p.)
edycja 2 października 2018 przez MastaDevelopa
Hmm, czytałem ten artykuł, ale on bardziej omawia sposób, w jaki django "przetrzymuje" pliki otrzymane z zewnątrz. A mi chodzi o jakąś prawilną metodę przechowywania dużej liczby plików na stałe. Może sprecyzuję, bo jak teraz czytam mój post, to stwierdzam, że jest trochę chaotyczny. Otóż
zadaniem projektu będzie składowanie dużej liczby plików wejściowych z danymi. Z plików tych korzystać będzie aplikacja na froncie - do niej jednak trafić mają całe pliki (nie wykonuję na nich żadnych operacji na back-endzie - tylko upload/download). Moje wstępne założenia wyglądały tak, że w bazie danych, będę sobie przechowywał jakieś podstawowe informacje o tych plikach (w tym również ich położenie - czy to gdzieś lokalnie [dlatego myślałem o FTP z którym komunikowało by się API], czy też jakieś S3 na przykład). Zapytanie z frontu, kierowane byłoby do API, jakiś serwis z tyłu szukałby sobie tego pliku po swojemu, ładował do pamięci, lub pliku tymczasowego (tak, jak opisane to było w podlinkowanym przez Ciebie artykule) i wysyłał do frontu, gdzie z kolei byłby czytany i rysowany byłby wykres. Nie twierdzę, że rozwiązanie o którym mówisz jest całkowicie złe, ale wydaje mi się, że w środowisku produkcyjnym, byłoby trochę... Nieładne, co by nie powiedzieć - niebezpieczne.
komentarz 2 października 2018 przez adrian17 Ekspert (204,320 p.)
OK, czyli miałeś na myśli już sam target przechowywania dużej ilości... to teraz lepiej rozumiem. Ale na litość, nie FTP. S3, czemu nie. Backend w zasadzie robi wszystko za Ciebie i (poza konfiguracją) AFAIK abstrakcja kompletnie chowa S3.

Podobne pytania

0 głosów
1 odpowiedź 103 wizyt
pytanie zadane 17 lutego w PHP, Symfony, Zend przez Ziito Obywatel (1,020 p.)
0 głosów
0 odpowiedzi 44 wizyt
pytanie zadane 22 sierpnia w C i C++ przez niezalogowany
0 głosów
2 odpowiedzi 85 wizyt
pytanie zadane 13 września w PHP, Symfony, Zend przez michal_php Gaduła (4,070 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

67,127 zapytań

114,075 odpowiedzi

241,784 komentarzy

47,030 pasjonatów

Przeglądających: 225
Pasjonatów: 16 Gości: 209

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...