上传文件时报错 Undefined index: type

chen

控制器代码

class Device
{
    public function upload(Request $request)
    {
        $file = $request->file('file');
    }
}

报错如下:
[2022-01-21 15:11:14] default.ERROR: Undefined index: type {"exception":"ErrorException: Undefined index: type in /Users/chen/Code/www/webman/vendor/workerman/webman-framework/src/Http/Request.php:127

在Request.php 127行 parseFile 方法 print_r($file)

Array
(
    [name] => 
    [tmp_name] => /private/var/folders/zg/jt3t90p54t3199md1d3xdvq00000gn/T/workerman.upload.NdyqKR
    [size] => 0
    [error] => 7
)
1103 1 0
1个回答

walkor

/private/var/folders/zg/jt3t90p54t3199md1d3xdvq00000gn/T
看起来是这个目录不可写导致的

  • chen 2022-01-21

    不是的,看错误是未定义的索引 type
    parseFile方法的参数$file 只有name,tmp_name,size,error这四个key,临时在support/Request 重写了 parseFile 方法,把$file['type']改成了$file['size'],就不报错啦

  • walkor 2022-01-21

    $file['type']改成了$file['size']

    $file['type'] 和 $file['size'] 不是同一个属性,不能改。

    [error] => 7 ,这个上传目录不可写错误码

  • chen 2022-01-21

    找到问题了,指定了参数file,但是没提交上传的文件,就报这个错误了;把 $file['type'] 改成 isset($file['type']) ? $file['type'] : null了,谢谢老大

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