Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
Filuppladdningar för både bilagefält och filsamlingar kan hanteras via HTTP API:et. Anropsmetoden skiljer sig åt beroende på vilken lagringsmotor som används av bilagan eller filsamlingen.
För inbyggda öppen källkods-lagringsmotorer som S3, OSS och COS är HTTP API-anropet detsamma som det som används av uppladdningsfunktionen i användargränssnittet, där filer laddas upp via servern. API-anrop kräver att en användarbaserad JWT-token skickas med i Authorization-begäranshuvudet; annars kommer åtkomst att nekas.
Initiera en create-åtgärd på attachments-resursen (attachments) genom att skicka en POST-begäran och ladda upp det binära innehållet via fältet file. Efter anropet kommer filen att laddas upp till den förvalda lagringsmotorn.
För att ladda upp filer 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 kommer filen att laddas upp till den förvalda lagringsmotorn.
Uppladdning till en filsamling kommer automatiskt att generera en filpost. Initiera en create-åtgärd på filsamlingsresursen genom att skicka en POST-begäran och ladda upp det binära innehållet via fältet file.
Vid uppladdning till en filsamling behöver ni inte ange en lagringsmotor; filen kommer att 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-plugin:et, kräver HTTP API-uppladdningen flera steg.
Hämta information om lagringsmotorn
Initiera en getBasicInfo-åtgärd på storages-samlingen (storages), inklusive lagringsnamnet, för att begära lagringsmotorns konfigurationsinformation.
Exempel på returnerad konfigurationsinformation för lagringsmotorn:
Hämta den försignerade URL:en från tjänsteleverantören
Initiera en createPresignedUrl-åtgärd på fileStorageS3-resursen genom att skicka en POST-begäran med filrelaterad information i body för att få den försignerade uppladdningsinformationen.
Obs:
name: Filnamnsize: Filstorlek (i byte)type: Filens MIME-typ. Ni kan referera till: Vanliga MIME-typerstorageId: Lagringsmotorns ID (fältetidsom returnerades i steg 1).storageType: Lagringsmotorns typ (fältettypesom returnerades i steg 1).Exempel på begärandedata:
Datastrukturen för den erhållna försignerade informationen är följande:
Ladda upp filen
Använd den returnerade putUrl:en för att göra en PUT-begäran och ladda upp filen som body.
Obs:
putUrl: FältetputUrlsom returnerades i föregående steg.file_path: Den lokala sökvägen till filen som ska laddas upp.Exempel på begärandedata:
Skapa filposten
Efter en lyckad uppladdning, skapa filposten genom att initiera en create-åtgärd på attachments-resursen (attachments) med en POST-begäran.
Förklaring av beroende data i
data-raw:
title: FältetfileInfo.titlesom returnerades i föregående steg.filename: FältetfileInfo.keysom returnerades i föregående steg.extname: FältetfileInfo.extnamesom returnerades i föregående steg.path: Tomt som standard.size: FältetfileInfo.sizesom returnerades i föregående steg.url: Tomt som standard.mimetype: FältetfileInfo.mimetypesom returnerades i föregående steg.meta: FältetfileInfo.metasom returnerades i föregående steg.storageId: Fältetidsom returnerades i steg 1.Exempel på begärandedata:
De första tre stegen är desamma som för uppladdning till ett bilagefält. I det fjärde steget behöver ni dock skapa filposten genom att initiera en create-åtgärd på filsamlingsresursen med en POST-begäran, och ladda upp filinformationen i body.
Förklaring av beroende data i
data-raw:
title: FältetfileInfo.titlesom returnerades i föregående steg.filename: FältetfileInfo.keysom returnerades i föregående steg.extname: FältetfileInfo.extnamesom returnerades i föregående steg.path: Tomt som standard.size: FältetfileInfo.sizesom returnerades i föregående steg.url: Tomt som standard.mimetype: FältetfileInfo.mimetypesom returnerades i föregående steg.meta: FältetfileInfo.metasom returnerades i föregående steg.storageId: Fältetidsom returnerades i steg 1.Exempel på begärandedata: