Wpis z mikrobloga

Nie wiem jak najlepiej i najprościej rozwiązać problem przesyłania danych i zdjęcia, które jest z nim powiązane.

Mianowicie chodzi mi o sytuację, w której przykładowo mam listę TODO, każdy element listy może, ale nie musi mieć zdjęcie.
Dodanie nowego elementu do listy powoduje wysłanie jego zawartości do backendu (np jsona z danymi tego elementu) i zapisanie go w bazie danych. A także związana z tym sytuacja przeciwna czyli odczyt tego elementu z backendu.

Z tego co wyczytałem to mam kilka opcji, dwie główne z nich to:
1. Wysłanie wszystkiego jednym postem w jsonie kodując i dekodując zdjęcie w base64 (ale podobno lepiej unikać takiego rozwiązania)

2. Osobno wysyłać dane elementu i osobno wysyłać zdjęcie. (Ale w takim wypadku jak rozwiązać logikę takiego rozwiązania?
Pierwsze przesyłać zdjęcie, czy dane? Jak je potem połączyć?)

#programowanie
  • 3
  • Odpowiedz
via Wykop Mobilny (Android)
  • 2
@Nullek: Jeśli to jakaś hobbystyczna apka, to tak jak @Kurtoza powiedział. Wtedy strumień z socketu możesz ładować bezpośrednio do pliku, więc nie obciążasz serwera buforując zdjęcie.

A w poważnych zastosowaniach to jakiś blob storage i/lub cdn. Przykładowo dla AWS S3 najpewniej generowałbyś klientowi unikatowy link na który może wrzucić plik. https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html
  • Odpowiedz