Ich habe Javascript, das ein Javascript-Objekt an das WebApi-Backend sendet, und es funktioniert!
Ich versuche jetzt, denselben Code zum Hochladen einer Datei zu verwenden, aber ich weiß nicht, wie das geht Ich stringifiziere (oder jemand kann mir sagen, dass ich das nicht tun sollte).
Das ist es, was ich auf (mein C# WebApi 2) hochladen möchtepublic async Task UploadImage([FromBody] IFormFile file)
{
//do something
}
und das Javascript
const file = inputTypeFile.files[0];
withData("/myApi/UploadImage/", file, "POST", mySuccessFunction)
async function withData(url = '', data = {}, verb, success) {
const payload = JSON.stringify(data); //THIS IS WHERE IT FAILS
const response = await fetch(url, {
method: verb,
mode: 'cors',
cache: 'no-cache',
credentials: 'same-origin',
headers: getHeader(),
referrerPolicy: 'no-referrer',
body: payload
}).catch(function (e) {
errorHandler(e);
});
Aber das Problem kann hiermit reproduziert werden:
HTML
Javascript
fileUploadBtn.addEventListener("click", parse);
function parse(){
const file = fileId.files[0];
const stFile = JSON.stringify(file);
b.innerText = stFile;
}
Dies gibt ein leeres Objekt aus
Sie können es in einem JSFiddle sehen (Sie benötigen eine Datei zum Hochladen)
Wie bereits erwähnt, ist dies möglicherweise nicht der richtige Ansatz zum Hochladen einer Datei in ein WebApi-Backend, daher sind wir für Antworten dankbar
So laden Sie eine Datei auf WebApi hoch [Duplikat] ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post