【问题标题】:How to send file from Nodejs to Flask Python?如何将文件从 Nodejs 发送到 Flask Python?
【发布时间】:2021-12-27 09:12:23
【问题描述】:

希望你做得很好。 我正在尝试使用 Axios 将 pdfs 文件从 Nodejs 发送到 Flask。 我从目录中读取文件(以缓冲区数组的形式)并将它们添加到 formData(一个 npm 包)中并发送 Axios 请求。

 const existingFile = fs.readFileSync(path)                                
    console.log(existingFile)
    const formData = new nodeFormData()
    formData.append("file", existingFile)
    formData.append("fileName", documentData.docuName)
    try {
         const getFile = await axios.post("http://127.0.0.1:5000/pdf-slicer", formData,
                        {
                          headers: {
                                      ...formData.getHeaders()
                                   }
                           })
         console.log(getFile)} catch (e) {console.log(e, "getFileError")}

烧瓶一侧:

我正在尝试从请求中获取数据。

    print(request.files)
    
    if (request.method == "POST"):
        file=request.form["file"]
        if file:
            print(file)

request.file 中,我得到 ImmutableMultiDict([])

但在 request.form["file"] 中,我得到的数据是这样的:

如何处理这种类型的文件格式或如何将这种文件格式转换为 python fileObject。

【问题讨论】:

    标签: python node.js flask


    【解决方案1】:

    我通过更新我的 Nodejs 代码解决了这个问题。 我们需要将formData文件转换成octet/stream格式。

    所以我对 formData 代码做了一些小的改动:

    之前:formData.append("file", existingFile)

    之后:formData.append("file", fs.createReadStream(existingFile)

    注意:fs.createReadStream 只接受字符串或 uint8array 没有空字节。我们不能传递缓冲区数组。

    【讨论】:

      猜你喜欢
      • 2021-11-12
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2014-08-24
      • 2018-05-20
      • 2020-08-09
      相关资源
      最近更新 更多