表單上傳文件,圖片可選可不選,使用request對(duì)象獲取所有圖片時(shí)報(bào)錯(cuò);報(bào)錯(cuò)信息如下:
$file = $request->file('img');
postman請(qǐng)求
按照手冊(cè)應(yīng)該返回null
實(shí)際報(bào)錯(cuò)信息為:
控制器中打印$request->file('img');
請(qǐng)求參數(shù)中包含file類(lèi)型字段 img,img1,img未選擇圖片!
什么瀏覽器
這邊瀏覽器測(cè)試和postman測(cè)試沒(méi)出現(xiàn)你說(shuō)的問(wèn)題,
截圖下postman界面吧,看下參數(shù)是怎么傳的
從報(bào)錯(cuò)看是postman沒(méi)傳遞content-type數(shù)據(jù)導(dǎo)致的,我這沒(méi)復(fù)現(xiàn)這個(gè)問(wèn)題,可能是我這postman版本和你的不一樣。
你先本地修改下vendor/workerman/workerman/Protocols/Http/Request.php
,將 parseUploadFile 方法里
$file = [
'name' => $match[2],
'tmp_name' => $tmp_file,
'size' => $size,
'error' => $error,
'type' => null,
];
改成
$file = [
'name' => $match[2],
'tmp_name' => $tmp_file,
'size' => $size,
'error' => $error,
'type' => '', // 這里null改成''
];
目前看這個(gè)問(wèn)題可能只出現(xiàn)在某些版本的postman上,瀏覽器沒(méi)有問(wèn)題,這個(gè)將在下個(gè)workerman版本做兼容。