Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
Bilduppladdningar för både bilagefält och fil-samlingar stöds via HTTP API. Hur anropet görs skiljer sig beroende på vilken lagringsmotor som används av bilagefältet eller fil-samlingen.
För inbyggda öppen källkods-lagringsmotorer i projektet, som S3, OSS och COS, är HTTP API-anropet detsamma som uppladdningsfunktionen i användargränssnittet, och filer laddas upp via servern. För att anropa API:et måste ni skicka en JWT-token baserad på användarinloggning via Authorization-request-headern; annars kommer åtkomst att nekas.
Initiera en create-åtgärd på attachments-resursen (bilagesamlingen), skicka en POST-förfrågan och ladda upp det binära innehållet via file-fältet. Efter anropet laddas filen upp till den förvalda lagringsmotorn.
Om ni behöver ladda upp en fil till en annan lagringsmotor kan ni använda parametern attachmentField för att ange den lagringsmotor som är konfigurerad för samlingsfältet (om ingen är konfigurerad laddas filen upp till den förvalda lagringsmotorn).
När ni laddar upp till en fil-samling genereras automatiskt en filpost. Initiera en create-åtgärd på fil-samlingsresursen, skicka en POST-förfrågan och ladda upp det binära innehållet via file-fältet.
När ni laddar upp till en fil-samling behöver ni inte ange någon lagringsmotor; filen laddas upp till den lagringsmotor som är konfigurerad för den samlingen.
För S3-kompatibla lagringsmotorer som tillhandahålls via det kommersiella S3-Pro-pluginet, måste HTTP API-uppladdningen anropas i flera steg.
Hämta information om lagringsmotor
Initiera en getBasicInfo-åtgärd på storages-samlingen (lagringssamlingen), med lagringsnamnet, för att begära lagringsmotorns konfigurationsinformation.
Exempel på returnerad konfigurationsinformation för lagringsmotorn:
Hämta försignerade uppgifter från tjänsteleverantören
Initiera en createPresignedUrl-åtgärd på fileStorageS3-resursen, skicka en POST-förfrågan och inkludera filrelaterad information i body för att få de försignerade uppladdningsuppgifterna.
Obs!
- name: Filnamn
- size: Filstorlek (i byte)
- type: Filens MIME-typ. Ni kan referera till: Vanliga MIME-typer
- storageId: Lagringsmotorns ID (fältet
idsom returnerades i första steget)- storageType: Lagringsmotorns typ (fältet
typesom returnerades i första steget)Exempel på förfrågningsdata:
Datastrukturen för den erhållna försignerade informationen är följande:
Filuppladdning
Använd den returnerade putUrl för att initiera en PUT-förfrågan och ladda upp filen som body.
Obs!
- putUrl: Fältet
putUrlsom returnerades i föregående steg- file_path: Den lokala sökvägen till filen som ska laddas upp
Exempel på förfrågningsdata:
Skapa filpost
Efter en lyckad uppladdning initierar ni en create-åtgärd på attachments-resursen (bilagesamlingen) genom att skicka en POST-förfrågan för att skapa filposten.
Beskrivning av beroende data i data-raw:
- title: Fältet
fileInfo.titlesom returnerades i föregående steg- filename: Fältet
fileInfo.keysom returnerades i föregående steg- extname: Fältet
fileInfo.extnamesom returnerades i föregående steg- path: Tomt som standard
- size: Fältet
fileInfo.sizesom returnerades i föregående steg- url: Tomt som standard
- mimetype: Fältet
fileInfo.mimetypesom returnerades i föregående steg- meta: Fältet
fileInfo.metasom returnerades i föregående steg- storageId: Fältet
idsom returnerades i första stegetExempel på förfrågningsdata:
De första tre stegen är desamma som för uppladdning av bilagefält, men i det fjärde steget behöver ni skapa en filpost genom att initiera en create-åtgärd på fil-samlingsresursen, skicka en POST-förfrågan och ladda upp filinformationen via body.
Beskrivning av beroende data i data-raw:
- title: Fältet
fileInfo.titlesom returnerades i föregående steg- filename: Fältet
fileInfo.keysom returnerades i föregående steg- extname: Fältet
fileInfo.extnamesom returnerades i föregående steg- path: Tomt som standard
- size: Fältet
fileInfo.sizesom returnerades i föregående steg- url: Tomt som standard
- mimetype: Fältet
fileInfo.mimetypesom returnerades i föregående steg- meta: Fältet
fileInfo.metasom returnerades i föregående steg- storageId: Fältet
idsom returnerades i första stegetExempel på förfrågningsdata: