Hallo,
ich habe mir die Gesamte API Dokumentation angeschaut, und leider keine Möglichkeit gefunden eine Datei zu Downloaden. Ist diese Funktion generell nicht in der API enthalten?
API
-
- Frage
- gelöst
- cordeshosting
-
-
cordeshosting
Der Download eines Objektes geht über den Aufruf von:wobei das letzte "object" die id des Objektes ist.
Gerne kannst du auch hier schauen:
https://agorumdocproxy.agorum.…05056aa0ecc/acds-anchor-4 -
Danke, ich hab mir das angeschaut.
Ich brauche den Download Endpunkt für Kunden erreichbar also habe ich das per Postman mit dem Authorization Header probiert, allerdings erhalte ich immer "Access denied" -
Hallo cordeshosting
Sollte der Download nach außen hin freigegeben werden (also im internet stehen) ist ein reverse proxy zu Verwendung empfohlen.
z:B. apache oder nginxApache Configuration
Alles anzeigen<VirtualHost *:80> ... RewriteEngine On ProxyPass /agorum-download/ http://interne-agorum-ip/api/object/download/ ProxyPassReverse /agorum-download/ http://interne-agorum-ip/api/object/download/ RequestHeader set Authorization "Basic XJHVDJVXJHGVXHGVXHGVXHGXVHGV=" </VirtualHost> Wird auf dem Webserver die URL http://ihr-webproxy-server/agorum-download/[ID oder UUID] aufgerufen, so findet ein interner Proxy-Aufruf der internen agorum-core-Download-URL statt. Dabei wird immer ein Request-Header mit Benutzername und Kennwort eines technischen agorum core-Benutzers mitgeschickt, codiert als BASE64. Dieser Header ist lediglich intern sichtbar und wird nie nach außen gegeben, der Aufrufer bekommt davon nichts mit. Durch diesen gezielten Proxy wird der Aufruf ausschließlich auf den Download-Teil der agorum core-API beschränkt und intern ausschließlich mit den Rechten des technischen Benutzers gearbeitet.
Bitte dabei dir Doku beachten: https://agorumdocproxy.agorum.…5056aa0ecc/acds-anchor-12
Steht der Server intern, dann kann man das natürlich entweder genauso machen oder alternativ einen eigenen api-Service bereitstellen, der auf Basis einer ID/uuid einen Download startet. DIes geht auch ohne login:Code
Alles anzeigenDateien können Sie über den CustomService zum Download bereitstellen. Methode Header GET Accept: application/octet-stream Beispiel /* global request */ let objects = require('common/objects'); let obj = objects.find('id-eines-dokumentes'); let response = { body: obj.contentStream, name: obj.name, size: obj.contentSize, type: obj.format.mimeType }; response;
Mit diesem Ansatz sind Sie voll flexibel.
Jetzt Teil von agorum Community werden!
Noch kein Benutzerkonto? Registriere dich kostenlos und werde Teil von agorum Community!