@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
if form.validate_on_submit():
#get pdf file
pdffile = form.pdfupload.data
#next line causes exception
filemd5 = hashlib.md5()
filemd5.update(pdffile.read())
filemd5name = filemd5.hexdigest()
#next save file
pdffile.save(filemd5name+'.pdf')
不幸的是,在hashlib.md5之后,filemd5name +'。pdf'是空的。
有没有办法从文件中获取md5并保存整个文件?
答案 0 :(得分:0)
因为您在文件流上执行了read
,所以需要seek
返回文件的开头才能成功保存。
@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
if form.validate_on_submit():
#get pdf file
pdffile = form.pdfupload.data
#next line causes exception
filemd5 = hashlib.md5()
filemd5.update(pdffile.read())
filemd5name = filemd5.hexdigest()
#next save file
pdffile.seek(0)
pdffile.save(filemd5name+'.pdf')