精简版上传器不适用于多个文件

lite-uploader won't work with multiple files

本文关键字:文件 适用于 不适用 精简版      更新时间:2023-09-26

使用以下设置

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 个文件有效