Javascript 如何使用axios发布图像?
这是我的尝试,但不起作用 我在后端收到错误:Javascript 如何使用axios发布图像?,javascript,flask,axios,multipartform-data,Javascript,Flask,Axios,Multipartform Data,这是我的尝试,但不起作用 我在后端收到错误:file=request.files['file']withwrap..newcls:400错误请求:KeyError:'file' 我的代码在页面上加载图像 $("#image-selector").change(function () { let reader = new FileReader(); reader.onload = function () { let dataURL = reader.result; $("#
file=request.files['file']
withwrap..newcls:400错误请求:KeyError:'file'
我的代码在页面上加载图像
$("#image-selector").change(function () {
let reader = new FileReader();
reader.onload = function () {
let dataURL = reader.result;
$("#selected-image").attr("src", dataURL);
发送
let image = $('#selected-image').get(0);
var formData = new FormData();
formData.append('file', image);
axios.post('/file', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(res => {
console.log("TEST:", res.data);
})
.catch(error => {
console.log(error);
});
这就是python/flask后端代码
@app.route('/file', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
您需要发布在输入元素中选择的文件,而不是输入元素本身
formData.append('file', image.files[0]);
在image.files[0]上我得到:Uncaught(in promise)TypeError:无法读取未定义的
#所选图像的属性“0”是
@cnd-您使用的API是为与
一起使用而设计的,因此用户可以选择图像。而是一个URL。是的,如果我使用let image=$(“#image selector”).prop('files')[0]代码>有趣如果我可以使用不工作,那么就使用图像选择器中的图像。尝试将渲染的预览恢复为文件要比实际值大得多。
formData.append('file', image.files[0]);