Hallo zusammen.
Ich möchte gerne aus dem Browser heraus mittels JavaScript per REST API ein Dokument archivieren. Und habe Schwierigkeiten die Datei zu übergeben.
In der Dokumentation finde ich zwar Beispiele für guzzlehttp und CURL. Ich weiß jedoch nicht wie ich das in JavaScript abbilde, bzw. was JR-seitig genau im Array "files" erwartet wird.
Bei nachfolgenden Code kommt imm er eine 400er-Meldung "No file given for upload" zurück:
function DateiHochladen(async, method, baseRestURL, parameters, token) {
parameters = {
"files": [fileSelect.files[0]]
};
var APIPath = "/api/rest/3/v2/application/jobarchive/archives/CO_0023_Archiv/documents";
var url = baseRestURL + APIPath;
var request = new XMLHttpRequest();
request.open(method, url, async);
request.setRequestHeader("Content-Type", "application/json");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("X-Jobrouter-Authorization", "Bearer " + token);
request.send(JSON.stringify(parameters));
}
Ich vermute, dass ich "parameters", Content-Type und request.send anpassen muss.
Kann mir dabei Jemand helfen?
Viele Grüße,
Matthias Nordwig
Was steht denn in fileSelect.files[0] drin? Ein Pfad zu einer Datei? Üblicherweise würden wir die Datei erst in einer Regel nach Senden (via PHP, daher die cURL und Guzzle-Beispiele) hochladen, da sie meines wissens erst nach dem Senden->uploads wandern