Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
Bestandsuploads voor zowel bijlagevelden als bestandscollecties kunt u afhandelen via de HTTP API. De manier van aanroepen verschilt afhankelijk van de opslagengine die de bijlage of bestandscollectie gebruikt.
Voor ingebouwde open-source opslagengines zoals S3, OSS en COS is de HTTP API-aanroep hetzelfde als die via de gebruikersinterface; bestanden worden via de server geüpload. Voor API-aanroepen moet u een JWT-token, gebaseerd op de gebruikerslogin, meesturen in de Authorization-requestheader; anders wordt de toegang geweigerd.
U initieert een create-actie op de attachments-resource (bijlagecollectie) door een POST-verzoek te sturen en de binaire inhoud te uploaden via het file-veld. Na de aanroep wordt het bestand geüpload naar de standaard opslagengine.
Als u bestanden naar een andere opslagengine wilt uploaden, kunt u de attachmentField-parameter gebruiken om de geconfigureerde opslagengine voor het collectieveld te specificeren. Indien niet geconfigureerd, wordt het bestand geüpload naar de standaard opslagengine.
Bij het uploaden naar een bestandscollectie wordt automatisch een bestandsrecord aangemaakt. U initieert een create-actie op de bestandscollectie-resource door een POST-verzoek te sturen en de binaire inhoud te uploaden via het file-veld.
Bij het uploaden naar een bestandscollectie hoeft u geen opslagengine te specificeren; het bestand wordt geüpload naar de opslagengine die voor die collectie is geconfigureerd.
Voor S3-compatibele opslagengines die worden aangeboden via de commerciële S3-Pro plugin, vereist het uploaden via de HTTP API verschillende stappen.
Opslagengine-informatie ophalen
U initieert een getBasicInfo-actie op de storages-collectie, inclusief de opslagnaam (storage name), om de configuratie-informatie van de opslagengine op te vragen.
Voorbeeld van geretourneerde opslagengine-configuratie-informatie:
Voorgedefinieerde URL van de serviceprovider ophalen
U initieert een createPresignedUrl-actie op de fileStorageS3-resource door een POST-verzoek te sturen met bestandsgerelateerde informatie in de body, om de voorgedefinieerde uploadinformatie te verkrijgen.
Opmerking:
name: Bestandsnaamsize: Bestandsgrootte (in bytes)type: Het MIME-type van het bestand. U kunt hiernaar verwijzen: Veelvoorkomende MIME-typenstorageId: De ID van de opslagengine (hetid-veld dat in stap 1 is geretourneerd).storageType: Het type opslagengine (hettype-veld dat in stap 1 is geretourneerd).Voorbeeld van aanvraaggegevens:
De datastructuur van de verkregen voorgedefinieerde informatie is als volgt:
Bestand uploaden
Gebruik de geretourneerde putUrl om een PUT-verzoek te doen, waarbij u het bestand als body uploadt.
Opmerking:
putUrl: HetputUrl-veld dat in de vorige stap is geretourneerd.file_path: Het lokale pad van het te uploaden bestand.Voorbeeld van aanvraaggegevens:
Bestandsrecord aanmaken
Na een succesvolle upload creëert u het bestandsrecord door een create-actie te initiëren op de attachments-resource (bijlagecollectie) met een POST-verzoek.
Uitleg van afhankelijke gegevens in
data-raw:
title: HetfileInfo.title-veld dat in de vorige stap is geretourneerd.filename: HetfileInfo.key-veld dat in de vorige stap is geretourneerd.extname: HetfileInfo.extname-veld dat in de vorige stap is geretourneerd.path: Standaard leeg.size: HetfileInfo.size-veld dat in de vorige stap is geretourneerd.url: Standaard leeg.mimetype: HetfileInfo.mimetype-veld dat in de vorige stap is geretourneerd.meta: HetfileInfo.meta-veld dat in de vorige stap is geretourneerd.storageId: Hetid-veld dat in stap 1 is geretourneerd.Voorbeeld van aanvraaggegevens:
De eerste drie stappen zijn hetzelfde als voor het uploaden naar een bijlageveld. In de vierde stap moet u echter het bestandsrecord aanmaken door een create-actie te initiëren op de bestandscollectie-resource met een POST-verzoek en de bestandsinformatie in de body te uploaden.
Uitleg van afhankelijke gegevens in
data-raw:
title: HetfileInfo.title-veld dat in de vorige stap is geretourneerd.filename: HetfileInfo.key-veld dat in de vorige stap is geretourneerd.extname: HetfileInfo.extname-veld dat in de vorige stap is geretourneerd.path: Standaard leeg.size: HetfileInfo.size-veld dat in de vorige stap is geretourneerd.url: Standaard leeg.mimetype: HetfileInfo.mimetype-veld dat in de vorige stap is geretourneerd.meta: HetfileInfo.meta-veld dat in de vorige stap is geretourneerd.storageId: Hetid-veld dat in stap 1 is geretourneerd.Voorbeeld van aanvraaggegevens: