如何在flask-sql alchemy环境下上传pdf文件?

问题描述 投票:0回答:0

我在将 .pdf 和 .doc 文件上传到 sql alchemy 时遇到问题,因为上传的文件被检测为

NoneType
。我尝试应用所有建议的解决方法,但错误仍然出现。

下面是我的代码如下:

main.py

class UploadForm( db.Model):

    id = db.Column(db.Integer , primary_key = True)

    title = db.Column(db.String(50))

    sector = db.Column(db.String(50))

    d_o_p = db.Column(db.Date)

    region = db.Column(db.String(20))



    file_data = db.Column(db.LargeBinary)


@main.route('/doc_uploader' , methods = ['GET' , 'POST'] )
    def upload():
    data = request.form
    print(data)

if request.method == "POST":
    title = request.form.get("title")
    sector = request.form.get('sector')
    d_o_p = datetime.strptime(request.form.get('date'), '%Y-%m-%d' ).date()
    region = request.form.get('region')
    file_data = request.files.get('file-upload')
    file_data = request.files.get('file-upload').read()

doc_uploader.html

<form  action="http://localhost:5000/doc_uploader" method="POST" 
    enctype="multipart/form-data"  >
     
            <input type="file"
            id="file-upload" name="file-upload"
            accept=".doc, .docx, .pdf"
            required
            />
</form>
    
        <button type="submit" class="btn btn-primary">Submit</button>

建议的解决方案是添加 enctype="multipart/form-data" 并将字段 file_data 设置为 LargeBinary 以接受文件作为 blob 类型。即使添加了这些,错误仍然存在。错误截图如下: error_screenshot

谢谢。

python html forms flask flask-sqlalchemy
© www.soinside.com 2019 - 2024. All rights reserved.