python - 如何将文件从 Nodejs 发送到 Flask Python?

标签 python node.js flask

希望你一切顺利。
我正在尝试从 发送 pdfs 文件Nodejs flask 使用 Axios。
我从一个目录(以缓冲区数组的形式)读取文件并将它们添加到 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")}
flask 侧:
我正在尝试从请求中获取数据。
    print(request.files)
    
    if (request.method == "POST"):
        file=request.form["file"]
        if file:
            print(file)
request.file , 我收到 ImmutableMultiDict([])
但在 request.form["文件"] ,我得到的数据是这样的:
request.form["file"] print example
我如何处理这种类型的文件格式,或者如何将这种文件格式转换为 python fileObject。

最佳答案

我通过更新我的 解决了这个问题Nodejs 代码。
我们需要将formData文件转换成八位字节/流 格式。
所以我对我的 formData 代码做了一些小的改动:
之前:formData.append("file", existingFile)之后:formData.append("file", fs.createReadStream(existingFile)

Note: fs.createReadStream only accepts string or uint8array without null bytes. we cannot pass the buffer array.

关于python - 如何将文件从 Nodejs 发送到 Flask Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69986654/

相关文章:

python - RabbitMq 连接到 127.0.0.1 :5672 Failed

python - 如何使用经过训练的分类器预测新数据集

node.js - Mongoose/mongodb - 只获取每个 id 的最新记录

python - Flask 使用 jinja2 从列表中迭代 WTForms 中的数据以生成表单字段

python - 为什么某些 Flask session 值在关闭浏览器窗口后从 session 中消失,但稍后又重新出现而无需我添加它们?

python - 将包含 Numpy 数组的整个 HDF5 读入内存的最快方法

Python:ValueError:以 10 为底的 int() 的无效文字: '' 错误

mysql - 从多对多关系调用时,Sequelize 以复数形式搜索表

javascript - 类型错误 : Cannot read property 'title' of undefined

python - 在 WTForms 中使用 FieldList、FormField 和 populate_obj 填充列表,并在客户端添加项目