问题描述
@app.route('/',methods=['POST'])
def upload_file():
if request.method == 'POST':
if 'files[]' not in request.files:
flash('No file part')
return redirect(request.url)
files = request.files.getlist('files[]')
for file in files:
if file and allowed_file(file.filename):
#print(file.filename)
filename = secure_filename(file.filename)
encrypted_list = pickle.load(open(file,"rb"))
print(encrypted_list)
我有一些字符串,该字符串的base64编码已存储在.pem文件中,并且想法是 X ,有人将在flask应用程序中上传多个.pem文件,并且我不想将它们保存在磁盘,只需使用 pickle.load(open(file,“ rb”))读取那些.pem文件,但是此命令给我错误。在加密时,我已经将那些base64编码的字符串存储在.pem文件中。现在,我想从Flask中的.pem文件中解码这些字符串。
任何帮助将不胜感激,并预先感谢!
解决方法
如错误消息所示,您不能将FileStorage
实例传递给pickle的load函数。
相反,您应该像encrypted_list = pickle.load(file.stream)
这样传入对象之类的文件。
https://werkzeug.palletsprojects.com/en/1.0.x/datastructures/#werkzeug.datastructures.FileStorage