lite-uploader 不能处理多个文件
lite-uploader won't work with multiple files
使用以下设置
file_obj = $('#files');
file_obj.liteUploader({
script: "/upload",
rules: {
allowedFileTypes: "application/pdf",
maxSize: 100*1024*1024,
}
})
file_obj.change(function () {
$(this).data("liteUploader").startUpload();
});
和这个 html 输入:
<input type="file" name="files" multiple id="files" required="True"/>
它仍然继续上传第一个文件。
在服务器端脚本中(在 python 中:我正在使用 OpenERP/Odoo),我看到也只有一个文件。
我也尝试将 singleFileUploads 设置为 true,但服务器仍然被调用一次。
好像是服务器端的问题。
我正在以这种方式访问 files 字段
@http.route(['/upload'], type='http', auth="public", website=True)
def upload(self, **args):
files = args['files']
但是对于多个文件 args 只包含第一个。
然后我注意到 request.httprequest.stream 里面的大小比上传文件的总和大一点,经过进一步调查,我发现我可以通过使用来获取所有文件:
files = request.httprequest.files.getlist('files')
适用于 1 到 n 个文件
使用以下设置
file_obj = $('#files');
file_obj.liteUploader({
script: "/upload",
rules: {
allowedFileTypes: "application/pdf",
maxSize: 100*1024*1024,
}
})
file_obj.change(function () {
$(this).data("liteUploader").startUpload();
});
和这个 html 输入:
<input type="file" name="files" multiple id="files" required="True"/>
它仍然继续上传第一个文件。 在服务器端脚本中(在 python 中:我正在使用 OpenERP/Odoo),我看到也只有一个文件。 我也尝试将 singleFileUploads 设置为 true,但服务器仍然被调用一次。
好像是服务器端的问题。
我正在以这种方式访问 files 字段
@http.route(['/upload'], type='http', auth="public", website=True)
def upload(self, **args):
files = args['files']
但是对于多个文件 args 只包含第一个。 然后我注意到 request.httprequest.stream 里面的大小比上传文件的总和大一点,经过进一步调查,我发现我可以通过使用来获取所有文件:
files = request.httprequest.files.getlist('files')
适用于 1 到 n 个文件