Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
Przesyłanie plików zarówno dla pól załączników, jak i dla kolekcji plików jest obsługiwane przez HTTP API. Sposób wywołania różni się w zależności od silnika przechowywania używanego przez pole załącznika lub kolekcję plików.
W przypadku wbudowanych, otwartych silników przechowywania, takich jak S3, OSS i COS, wywołanie HTTP API jest takie samo jak funkcja przesyłania plików z interfejsu użytkownika, a pliki są przesyłane po stronie serwera. Wywołanie API wymaga przekazania tokenu JWT (opartego na logowaniu użytkownika) w nagłówku żądania Authorization; w przeciwnym razie dostęp zostanie odrzucony.
Proszę zainicjować akcję create na zasobie attachments (tabela załączników), wysłać żądanie POST i przesłać zawartość binarną za pośrednictwem pola file. Po wywołaniu plik zostanie przesłany do domyślnego silnika przechowywania.
Aby przesłać plik do innego silnika przechowywania, mogą Państwo użyć parametru attachmentField, aby określić silnik przechowywania skonfigurowany dla pola kolekcji (jeśli nie jest skonfigurowany, zostanie przesłany do domyślnego silnika przechowywania).
Przesyłanie do kolekcji plików automatycznie wygeneruje rekord pliku. Proszę zainicjować akcję create na zasobie kolekcji plików, wysłać żądanie POST i przesłać zawartość binarną za pośrednictwem pola file.
Podczas przesyłania do kolekcji plików nie ma potrzeby określania silnika przechowywania; plik zostanie przesłany do silnika przechowywania skonfigurowanego dla tej kolekcji.
W przypadku silników przechowywania kompatybilnych z S3, dostarczanych przez komercyjną wtyczkę S3-Pro, przesyłanie plików za pomocą HTTP API wymaga kilku kroków.
Pobieranie informacji o silniku przechowywania
Proszę zainicjować akcję getBasicInfo na kolekcji storages (kolekcja silników przechowywania), przekazując nazwę przechowywania, aby uzyskać informacje konfiguracyjne silnika przechowywania.
Przykład zwróconych informacji konfiguracyjnych silnika przechowywania:
Pobieranie wstępnie podpisanych informacji od dostawcy usługi
Proszę zainicjować akcję createPresignedUrl na zasobie fileStorageS3, wysłać żądanie POST i dołączyć informacje dotyczące pliku w treści żądania, aby uzyskać wstępnie podpisane informacje o przesyłaniu.
Uwaga:
- name: Nazwa pliku
- size: Rozmiar pliku (w bajtach)
- type: Typ MIME pliku. Mogą Państwo zapoznać się z: Typowe typy MIME
- storageId: ID silnika przechowywania (pole
idzwrócone w pierwszym kroku)- storageType: Typ silnika przechowywania (pole
typezwrócone w pierwszym kroku)Przykład danych żądania:
Struktura danych uzyskanych wstępnie podpisanych informacji jest następująca:
Przesyłanie pliku
Proszę użyć zwróconego putUrl, aby zainicjować żądanie PUT i przesłać plik jako treść żądania.
Uwaga:
- putUrl: Pole
putUrlzwrócone w poprzednim kroku- file_path: Lokalna ścieżka pliku do przesłania
Przykład danych żądania:
Tworzenie rekordu pliku
Po pomyślnym przesłaniu, proszę zainicjować akcję create na zasobie attachments (tabela załączników), wysyłając żądanie POST, aby utworzyć rekord pliku.
Opis danych zależnych w
data-raw:
- title: Pole
fileInfo.titlezwrócone w poprzednim kroku- filename: Pole
fileInfo.keyzwrócone w poprzednim kroku- extname: Pole
fileInfo.extnamezwrócone w poprzednim kroku- path: Domyślnie puste
- size: Pole
fileInfo.sizezwrócone w poprzednim kroku- url: Domyślnie puste
- mimetype: Pole
fileInfo.mimetypezwrócone w poprzednim kroku- meta: Pole
fileInfo.metazwrócone w poprzednim kroku- storageId: Pole
idzwrócone w pierwszym krokuPrzykład danych żądania:
Pierwsze trzy kroki są takie same jak w przypadku przesyłania plików dla pola załącznika, ale w czwartym kroku należy utworzyć rekord pliku, inicjując akcję create na zasobie kolekcji plików, wysyłając żądanie POST i przesyłając informacje o pliku w treści żądania.
Opis danych zależnych w
data-raw:
- title: Pole
fileInfo.titlezwrócone w poprzednim kroku- filename: Pole
fileInfo.keyzwrócone w poprzednim kroku- extname: Pole
fileInfo.extnamezwrócone w poprzednim kroku- path: Domyślnie puste
- size: Pole
fileInfo.sizezwrócone w poprzednim kroku- url: Domyślnie puste
- mimetype: Pole
fileInfo.mimetypezwrócone w poprzednim kroku- meta: Pole
fileInfo.metazwrócone w poprzednim kroku- storageId: Pole
idzwrócone w pierwszym krokuPrzykład danych żądania: