使用以下设置
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 个文件有效