我正在尝试解释图像,我的代码可用于解释本地保存的图像,但是我想解释通过POST上传到表单的图像,而无需实际将其存储在本地。有可能吗?
request.form['receipt-photo']
(receipt-photo
是上传字段的名称)text = image_to_string(Image.open(request.form['receipt-photo']))
但是我得到了FileNotFoundError: [Errno 2] No such file or directory: 'receipt3.jpg'
text = image_to_string(request.form['receipt-photo'])
我遇到错误。
pytesseract.pytesseract.TesseractError: (1, 'Tesseract Open Source OCR Engine v4.0.0 with Leptonica Error, cannot read input file /Users/alexmarginean/Documents/Projects/Weeper/receipt3.jpg: No such file or directory Error during processing.')
text = image_to_string(Image.open(BytesIO(request.form['receipt-photo'])))
我得到的错误:TypeError: a bytes-like object is required, not 'str'
这是我的代码,它使用本地存储的图像
text = image_to_string(Image.open('receipt3.jpg'))
我希望我的照片仅通过发送POST请求就可以使用,而无需将其保存在本地。 如果有人可以帮助我,我将不胜感激。
答案 0 :(得分:1)
创建一个要用于存储上传文件的文件夹,我们将其命名为/uploads
在您的表单中创建一个上传字段和按钮
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="receipt-photo">
<input type="submit" value="Upload">
</form>
然后在Flask(假设您使用烧瓶)中添加一个端点
@app.route('/upload', methods=[POST])
file = request.files['receipt-photo']
f = os.path.join('/uploads', file.filename)
file.save(f)
# Manipulate image with PIL