小编Moh*_*_Hn的帖子

如何将 Bytes 对象转换为 _io.BytesIO python?

我正在制作一个简单的Flask API来上传图像并执行一些操作,然后将其作为二进制存储在数据库中,然后我想使用 send_file()函数下载它,但是,当我传递像字节这样的图像时,它会给我一个错误:

return send_file(BytesIO.read(image.data), attachment_filename='f.jpg', as_attachment=True) TypeError: descriptor
Run Code Online (Sandbox Code Playgroud)

“read”需要“_io.BytesIO”对象,但收到“bytes”

我的上传图像的代码如下:

@app.route('/upload', methods=['POST'])
def upload():
    images = request.files.getlist('uploadImages')
    n = 0
    for image in images:
        fileName = image.filename.split('.')[0]
        fileFormat = image.filename.split('.')[1]
        imageRead = image.read()
        img = BytesIO(imageRead)
        with graph.as_default():
            caption = generate_caption_from_file(img)
        newImage = imageDescription(name=fileName, format=fileFormat, description=caption,
                                    data=imageRead)
        db.session.add(newImage)
        db.session.commit()
        n = n + 1
    return str(n) + ' Image has been saved successfully'
Run Code Online (Sandbox Code Playgroud)

我的下载图像的代码:

@app.route('/download/<int:id>')
def download(id):
    image = imageDescription.query.get_or_404(id)
    return send_file(BytesIO.read(image.data), attachment_filename='f.jpg', as_attachment=True)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗???

python api flask

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

api ×1

flask ×1

python ×1