webman 多文件上传问题,同名多文件无法获取,只能得到一个文件!

askuiop

webman 处理多文件上传时:

postman 设置同名多文件上传, 例如表单名files

$request->file('files'), 只能获取到一个文件!

$request->file() 也只能获取到一个文件信息!

2509 3 0
3个回答

朕震惊了

同名就覆盖了吧。
每个上传文件取不同的名字应该可以

  • askuiop 2021-06-11

    问题是批量上传文件,当然是同名的表单字段呀

朕震惊了

自己改下源码喽

workerman/Protocols/Http/Request.php
parseUploadFiles方法, 最后

foreach ($files as $file) {
   if (isset($file['key'])) {
        $key = $file['key'];
        unset($file['key']);
       $this->_data['files'][$key] = $file;
    }
}

改成

foreach ($files as $file) {
   if (isset($file['key'])) {
        $key = $file['key'];
        unset($file['key']);
       $this->_data['files'][$key][] = $file;
    }
}
  • 暂无评论
wadeYang

不改源码,表单里面的input, name=files[],试试行不行

  • Tinywan 2022-03-10

    遇到这个坑了

  • walkor 2022-03-10

    这个问题已经修复了,还有问题?

  • Tinywan 2022-03-10

    我是写插件的使用遇到这个问题的,使用的容器 Container::get($class)就会有这个问题,改为 容器Container::make($class)`` 就正常了,不然一直是获取的第一个文件的tmp

  • walkor 2022-03-10

    哦,你们说的不是同一个问题

  • Tinywan 2022-03-10

    哈哈

年代过于久远,无法发表回答
🔝