作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我希望将多个文件上传到 Bottle 服务器。
单个文件上传效果很好,通过将 HTML 输入标签修改为“多个”,浏览按钮允许选择多个文件。上传请求处理程序只加载最后一个文件。如何一次性上传所有文件?
我正在试验的代码:
from bottle import route, request, run
import os
@route('/fileselect')
def fileselect():
return '''
<form action="/upload" method="post" enctype="multipart/form-data">
Category: <input type="text" name="category" />
Select a file: <input type="file" name="upload" multiple />
<input type="submit" value="Start upload" />
</form>
'''
@route('/upload', method='POST')
def do_upload():
category = request.forms.get('category')
upload = request.files.get('upload')
print dir(upload)
name, ext = os.path.splitext(upload.filename)
if ext not in ('.png','.jpg','.jpeg'):
return 'File extension not allowed.'
#save_path = get_save_path_for_category(category)
save_path = "/home/user/bottlefiles"
upload.save(save_path) # appends upload.filename automatically
return 'OK'
run(host='localhost', port=8080)
最佳答案
mata's suggestion作品。您可以通过调用 getall()
来获取上传文件的列表。在 request.files
上。
@route('/upload', method='POST')
def do_upload():
uploads = request.files.getall('upload')
for upload in uploads:
print upload.filename
return "Found {0} files, did nothing.".format(len(uploads))
关于Python Bottle 多文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31642717/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!