国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

request對象獲取文件出錯(cuò)【已解決】

doit

bug描述

表單上傳文件,圖片可選可不選,使用request對象獲取所有圖片時(shí)報(bào)錯(cuò);報(bào)錯(cuò)信息如下:

程序代碼或配置

$file = $request->file('img');

postman請求
截圖

期待的結(jié)果及實(shí)際結(jié)果

按照手冊應(yīng)該返回null
實(shí)際報(bào)錯(cuò)信息為:
截圖

重現(xiàn)bug的步驟

控制器中打印$request->file('img');
請求參數(shù)中包含file類型字段 img,img1,img未選擇圖片!

系統(tǒng)環(huán)境及workerman/webman等具體版本

截圖

1259 2 1
2個(gè)回答

liziyu

大佬說,這個(gè)不算bug的。

  • doit 2022-11-09

    很多場景表單中文件都是非必填項(xiàng)啊~

  • doit 2022-11-09

    手冊上寫的是,$request->file('avatar');如果文件存在的話則返回對應(yīng)文件的webman\Http\UploadFile實(shí)例,否則返回null。

walkor 打賞

什么瀏覽器

  • doit 2022-11-09

    使用的Postman,form-data請求

  • walkor 2022-11-09

    這邊瀏覽器測試和postman測試沒出現(xiàn)你說的問題,
    截圖下postman界面吧,看下參數(shù)是怎么傳的

  • doit 2022-11-09

    已經(jīng)修改問題,截圖如上

  • walkor 2022-11-09

    從報(bào)錯(cuò)看是postman沒傳遞content-type數(shù)據(jù)導(dǎo)致的,我這沒復(fù)現(xiàn)這個(gè)問題,可能是我這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è)問題可能只出現(xiàn)在某些版本的postman上,瀏覽器沒有問題,這個(gè)將在下個(gè)workerman版本做兼容。

  • doit 2022-11-09

    調(diào)整后沒有問題了,postman版本Version 9.24.2

  • doit 2022-11-09

    感謝大佬

年代過于久遠(yuǎn),無法發(fā)表回答
??