• 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

Object Storage Arubacloud
0 głosów
307 wizyt
pytanie zadane 2 października 2018 w Python przez MastaDevelopa Użytkownik (500 p.)
zmienione kategorie 2 października 2018 przez ScriptyChris
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 (344,860 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 (344,860 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

+1 głos
1 odpowiedź 592 wizyt
+2 głosów
1 odpowiedź 255 wizyt
pytanie zadane 9 kwietnia 2022 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 431 wizyt
pytanie zadane 17 lutego 2019 w PHP przez Ziito Obywatel (1,110 p.)

92,551 zapytań

141,396 odpowiedzi

319,526 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...