我有以下情况。我在 Flask 中创建了一个简单的后端来处理文件上传。收到文件后,Flask 会做一些事情(上传文件),并将数据返回给调用者。该应用程序有两种场景,上传一张图片和多张图片。上传一张图片时,我可以简单地得到响应,瞧,我准备好了。
但是,我坚持处理多个文件上传。我可以为实际的文件上传使用相同的处理程序,但问题是所有这些文件都需要存储到一个列表或其他东西中,然后进行处理,然后,一个包含所有这些图像的链接(专辑),需要交付。
这是我的上传处理代码:
@app.route('/uploadv3', methods=['POST'])
def upload():
if request.method == 'POST':
data_file = request.files["file"]
file_name = data_file.filename
path_to_save_to = os.path.join(app.config['UPLOAD_FOLDER'], file_name)
data_file.save(path_to_save_to)
file_url = upload_image_to_image_host(path_to_save_to)
return file_url
我在烧瓶中试验会话,但我不知道我是否可以在一个键下创建一个项目列表,比如 session ['links'],然后获取所有这些,并在完成工作后将其清除。还是有其他更简单的解决方案?
我假设我可能可以通过每个图像的键来执行此操作,例如 session [“link1”] 等等,但这会对图像施加限制(取决于我创建的图像数量),会使代码非常丑陋,对每个进行迭代以生成传递给专辑构建方法的列表有问题,并且会话清除将是乏味的。
我为在最后获取实际链接并清除会话而编写的一些代码如下(假设 session['link'] 有一个 url 列表,根据我在 Flask 中的会话管理知识,我无法真正实现:
def create_album(images):
session.pop('link', None)
new_album = im.create_album(images)
return new_album.link
@app.route('/get_album_link')
def get_album_link():
return create_album(session['link'])
在此先感谢您的时间!