So erhalten Sie die Datei und Daten (JSON) von Javascript durch FastAPI [Duplikat]

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: So erhalten Sie die Datei und Daten (JSON) von Javascript durch FastAPI [Duplikat]

by Guest » 24 Dec 2024, 12:06

Ich sende die Bilddatei und JSON so aus Javascript.

Code: Select all

var formData = new FormData();
formData.append("data",{"test":1});
//make jpg image from canvas.
var image = ref_canvas_release.current.toDataURL('image/jpeg', 0.85);

//////// confirm and test the image file is correctly created. it created!
var a = document.createElement('a');
a.href = image;
a.download = 'test.jpg';
a.click();
////////

formData.append("file",image);

axios.post("/myuploader",formData,{headers: {'Content-Type': 'application/form-data'}}).then(res=>{
console.log(res)
});
Dann ist meine FastAPI hier.

Code: Select all

from fastapi import FastAPI,UploadFile, File,Depends,status,Body,Request

@app.post('/myuploader')
def uploader(request: Request):
print(request.query_params['data'])// key error 'data'
return {"sending":"OK"}
Ich bin mir nicht sicher, ob Sender/Empfänger oder beide falsch sind.
Gibt es eine allgemeine Praxis, die Datei und JSON gleichzeitig mit dem Formular zu senden? -data?

Danke an @deceze
Ich überprüfe diese Dokumente.
https://www.starlette.io/requests/
und versucht zu ändern

Code: Select all

@app.post('/myuploader')
def uploader(request: Request):
print(request.stream())//
return {"sending":"OK"}
es zeigt
Ich denke, ich kann einen Schritt nach vorne machen, bin aber immer noch verwirrt, wie kann ich das tun? Holen Sie sich die Daten und die Datei von hier oder ist die direkte Verwendung von Requst keine gute Idee?

Top