使用以下设置
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,但服务器仍然被调用一次。
最佳答案
看来问题出在服务器端。
我以这种方式访问文件字段
@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 个文件
关于javascript - lite-uploader 无法处理多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35311651/