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?
Ich sende die Bilddatei und JSON so aus Javascript.
[code]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)
});
[/code]
Dann ist meine FastAPI hier.
[code]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"}
[/code]
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]@app.post('/myuploader')
def uploader(request: Request):
print(request.stream())//
return {"sending":"OK"}
[/code]
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?