【问题标题】:Python server store csv file sent from React clientPython 服务器存储从 React 客户端发送的 csv 文件
【发布时间】:2021-07-09 14:52:06
【问题描述】:

正如标题所说,我有一个允许用户上传文件的客户端页面,它们将始终是 .csv 文件。

export const sendFiles = async (files) => {
  let form = new FormData();
  form.append("arrFile", files);
  await axios
    .post(local + "/read-files", form, {
      headers: { "Content-Type": "multipart/form-data" },
    })
    .then((res) => {
      return res.data;
    })
    .catch((err) => {
      return err;
    });
};

这是我使用 FormData 发送文件的代码。 filesFile 对象的数组。它可以只有一个或多个。控制台上的files 数组如下所示

Array [ File ]
    0: File { name: "filename.csv", lastModified: 1624560497968, size: 1244, … }
​​    lastModified: 1624560497968
    name: "filename.csv"
    size: 1244
    type: "application/vnd.ms-excel"
    webkitRelativePath: ""
    <prototype>: FilePrototype { name: Getter, lastModified: Getter, webkitRelativePath: Getter, … }
    length: 1
<prototype>: Array []

我将把它发送到我的 Python Flask 服务器

@app.route("/read-files", methods=['POST'])
def read_files():
    if request.method == 'POST':
        form = dict(request.form)
        return

我发现 FormData 存储在 request.form 中,但是当我在 Python 上打印此数据时,它显示为这样。

{'arrFile': '[object File],[object File],[object File],[object File],[object File],[object File],[object File]'}

这些文件似乎位于以逗号分隔的字符串中。我想做的是能够存储这些文件及其内容,然后能够读取它们。这可能吗?

【问题讨论】:

    标签: javascript python file python-requests axios


    【解决方案1】:
    if {your_file_name} in request.files:
            file = request.files['your_file_name']
    

    【讨论】:

    • 嗨@Asif,我尝试检查request.files,但它是一个空的ImmutableMultiDict([])。
    猜你喜欢
    • 1970-01-01
    • 2013-05-23
    • 2013-08-25
    • 2018-06-18
    • 1970-01-01
    • 2015-05-02
    • 2017-07-10
    • 2020-04-17
    相关资源
    最近更新 更多