uniapp 的 uview 上傳組件 遇到的問題


header 屬性

header 屬性設置 {'Content-Type': 'application/json; charset=utf-8'},會導致問題,在開發者工具可以上傳圖片,但是在微信電腦端或者微信手機端無法上傳圖片。報錯如下:

[error] [0]Argument 1 passed to think\Validate::check() must be of the type array, null given

報錯的具體代碼:

    private function validateUpload()
    {
        $max_size = 1024*1024*3; // 單位字節,這里表示最大1MB
        $request = request()->file();
        // var_dump($request);
        $rules = [
            'file' => [
                'file',
                'fileSize:' . $max_size,
                'image',
                // 'fileExt:jpg',
            ],
        ];
        $messages = [
            'file.file' => '必須上傳文件',
            'file.fileSize' => '文件大小不能超過 3MB',
            'file.image' => '必須上傳圖片',
            // 'file.fileExt' => '圖片文件后綴不合法',
        ];
        try {
            validate($rules, $messages)->check($request);
        } catch (\think\exception\ValidateException $e) {
            return ['err' => true, 'msg' => $e->getMessage()];
        }
        return ['err' => false];
    }

原因是 request()->file() 獲取到的值是 null。去掉 header 屬性設置 Content-type 就好了。

uploadAction 接口返回中文亂碼

uploadAction 接口返回含有中文,在調試工具 Network 里顯示出來是亂碼。暫未找到解決辦法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM