flask - 如何在烧瓶应用程序中使用 pickle.load - Python3
问题描述
@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人将在烧瓶应用程序中上传多个 .pem 文件,我不想将它们保存在磁盘中,只需使用pickle读取这些 .pem 文件.load(open(file, "rb"))但这个命令给了我错误。在加密时,我将那些 base64 编码的字符串存储在 .pem 文件中。现在我想从 Flask 中的 .pem 文件中解码这些字符串。
任何帮助将不胜感激,并在此先感谢!!
解决方案
正如错误消息所暗示的,您不能将FileStorage
实例传递给 pickle 的加载函数。
相反,您应该传入一个像对象这样的文件,就像这样encrypted_list = pickle.load(file.stream)
。
https://werkzeug.palletsprojects.com/en/1.0.x/datastructures/#werkzeug.datastructures.FileStorage
推荐阅读
- python - 由于索引,将两个 Pandas 系列相乘产生 NaN 条目
- python - 滑动窗口并将 DataFrame 的元素与阈值进行比较
- opengl - 我可以有两个统一缓冲区指向 OpenGL 中的同一个块吗?
- docker - 使用常见的中间/最终步骤维护多个 docker 映像
- c# - 用于查询字符串保护的 MS 数据保护 API 对给定的明文强制使用相同的密文
- python - 如何在字典中添加单个键的值
- flutter - 加载 webview 内容后设置 PageView 子页面的宽度或高度
- java - 将大型 Json 文件(大约 300 Mb)解析为 POJO 列表
- python - 如何在 VS Code 中为 Python 中的私有成员自动生成 Getter 和 Setter 方法?
- python - 一旦时间增量高于 xy,就创建新的数据帧