Я беру изображения сомов и pdf-файлы из почтового запроса в flask и преобразую их все в pdf, но пропускаю любые pdf в запросе на публикацию.
Если я запускаю свой скрипт ниже, я получаю ошибка, но если я закомментирую эту часть, у меня нет проблем:
kind = filetype.guess(img)
if (kind.extension == 'pdf'):
print('Skip pdf')
else:
Вот мой код:
from PIL import Image
import img2pdf
import filetype
from flask import Flask, request
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class newEmail(Resource):
def post(self):
image_files = request.files.getlist("file[]")
for img in image_files:
kind = filetype.guess(img)
if (kind.extension == 'pdf'):
print('Skip pdf')
else:
pdf_bytes = img2pdf.convert(img)
pdf_fil = open(img.filename+'.pdf','wb')
pdf_fil.write(pdf_bytes)
img.close()
pdf_fil.close()
return {'message': 'Success'}
api.add_resource(test, '/')
if __name__ == '__main__':
app.run(debug=True)
Я получаю эту ошибку:
File "C:\Users\kbu\Downloads\python\flaksapp\app.py", line 26, in post
pdf_bytes = img2pdf.convert(img)
File "C:\Users\kbu\Downloads\python\flaksapp\env\Lib\site-packages\img2pdf.py", line 1829, in convert
) in read_images(rawdata, kwargs["colorspace"], kwargs["first_frame_only"]):
File "C:\Users\kbu\Downloads\python\flaksapp\env\Lib\site-packages\img2pdf.py", line 1169, in read_images
raise ImageOpenError(
img2pdf.ImageOpenError: cannot read input image (not jpeg2000). PIL: error reading image: cannot identify image file <_io.BytesIO object at 0x000001A9EA76B130>