So erhalten wir eine Datei (eine Bilddatei) im Front-End wie so:POST Binärdaten von Browser zu JFrog/Artifactory Server ohne Verwendung von form-data
// html
<input type="file" ng-change="onFileChange">
// javascript
$scope.onFileChange = function (e) {
e.preventDefault();
let file = e.target.files[0];
// I presume this is just a binary file
// I want to HTTP Post this file to a server
// without using form-data
};
Was ich wissen möchte, ist - ist es eine Möglichkeit, diese Datei an einen Server zu senden, ohne die Datei als Formular-Daten, einschließlich? Das Problem ist, dass der Server, an den ich eine HTTP POST-Anfrage schicke, nicht wirklich weiß, wie man Formulardaten speichert, wenn er eine Anfrage erhält.
Ich glaube, das ist der richtige Weg, aber ich bin mir nicht sicher.
fetch('www.example.net', { // Your POST endpoint
method: 'POST',
headers: {
"Content-Type": "image/jpeg"
},
body: e.target.files[0] // the file
})
.then(
response => response.json() // if the response is a JSON object
)
Warum sind Sie nicht sicher, ob Ihr Ansatz "der richtige Weg" ist? Ja, Sie sollten in der Lage sein, eine "Blob" - oder "File" -Instanz zum Server – guest271314
@AlexanderMills zu "POST" zu machen: Aber dann muss Ihr Server wissen, was zu tun ist, wenn er eine POST-Anfrage mit dem Typ image/jpeg erhält. Welchen Server benutzen Sie? –
Wir müssen einen HTTP POST/PUT an einen JFrog Artifactory-Server senden - ich benutze unseren Server als Proxy für den Artifactory-Server. Ich werde eine Antwort hinzufügen, die zeigt, wie wir es gemacht haben. Vielleicht kann jemand meine Antwort anschauen und zeigen, wie der Proxy vermieden werden könnte. –