我在将 .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 类型。即使添加了这些,错误仍然存在。错误截图如下:
谢谢。