当前位置: 首页 > 知识库问答 >
问题:

前端 - 请问为什么下述 上传文件 出现bad request?

卞安邦
2023-04-21

界面
图片.png

前端vue用了element plus,当文件数量改变的时候就this.fileList更新,确认上传的时候就form传输给后端。

    handle_file_change(file, fileList) {
      //文件数量改变
      this.fileList = fileList;
      console.log('in handle file change')
      
    },
    confirm_upload() {
      //确认上传
      var param = new FormData();
      this.fileList.forEach((val, index) => {
        param.append("file", val.raw);
        console.log(val)
      });
      param.append("username",localStorage.cur_user)

      axios({
        headers:{
          'Content-Type':'multipart/form-data',
          'Access-Control-Allow-Origin':'*',
        },
        method:'post',
        url:"http://127.0.0.1:5000/file_upload",
        data:param
      })
      .then((response) => {});

    },

后端flask,都没干什么,已经开了CORS

from flask_cors import CORS,cross_origin
 
app = Flask(__name__)
CORS(app)

@app.route('/file_upload',methods=['POST'])
def index():

    data=request.get_json()

    username=request.form.get('username')

    return 'ok'

错误
图片.png
图片.png
图片.png

共有2个答案

朱高丽
2023-04-21

data=request.get_json()
这一行用错了吧. 用form上传没有json数据.
另外确定下程序执行到哪里了. 再确定是哪的错.

金阳华
2023-04-21

image.png
获取文件时候有问题吧?
试试 data=request.files.get('file')

 类似资料:
  • 鄙人Javaer,对前端不太了解,想请教大佬们,前端上传文件的原理是什么(包括不限于表单上传、ajax上传) 比如,当点击上传按钮时,前端是如何将用户选择的文件转换成网络流,通过浏览器进行发送的? 前端小白,希望大佬们可以答疑解惑

  • 本文向大家介绍Jsp+Servlet实现文件上传下载 文件上传(一),包括了Jsp+Servlet实现文件上传下载 文件上传(一)的使用技巧和注意事项,需要的朋友参考一下 文件上传和下载功能是Java Web必备技能,很实用。 本文使用的是Apache下的著名的文件上传组件 org.apache.commons.fileupload 实现 下面结合最近看到的一些资料以及自己的尝试,先写第一篇文件上

  • 问题内容: 经过一整天的研究和尝试,我终于放弃了 纯AJAX的 上传文件(ps:本文如何与JQuery异步上传文件?埋了我的最后希望) 我的问题可能没什么意义,但是我仍然想知道为什么ajax(或XMLHttpRequest)不能处理这个问题?为什么文件不能像真正的httprequest那样传输? 问题答案: 出于安全原因,JavaScript无法读取本地文件,因此我们无法使用AJAX发送数据。 但

  • 我不知道这是与代码有关还是与服务器有关... 在一个PHP页面上,我调用了一个包含标准PHP上传过程的上传函数。在调用函数之后,我执行重定向(尝试使用window.location或header())。 奇怪的是,每件事都运行良好的几次,然后它就不会再上传了(uploadOK也不会是0)。它不会将文件移动到服务器上。 然后,我将取出重定向,上传将重新开始工作。我把重定向放回去,上传还能工作几次,然

  • 我使用dropwizard制作了一个非常传统的文件上传方法。 所以我在资源中有一个这样的方法 里面没有什么特别的,它只是保存到一个路径,使用java.nio库,就像这样 它只是不会上传excel文件。我在其他地方读到excel文件和它们的底层类型受到怀疑。请问我需要做什么?