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']
with
wrap..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]);