javascript - lite-uploader 无法处理多个文件

标签 javascript file upload odoo

使用以下设置

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/

相关文章:

java - 从浏览器上传多个文件的最佳方式

Javascript 原型(prototype)继承和 OOP

c - 用 c 从/在文件中读/写

JavaScript 上传多张图片

java - 如何排序 List<List<String>>

c++ - 在代码中 - 删除包含文件的文件夹

Python:快速上传大文件S3

javascript - 使用js/jquery扩展和缩回div

javascript - Coffeescript:如何一行导入express模块

javascript - 按键时更改图像