Laravel Загрузка файла "Laminas \ Diactoros \ Exception \ InvalidArgumentException" - PullRequest
0 голосов
/ 25 марта 2020

Добрый день, я столкнулся с этим исключением "Laminas \ Diactoros \ Exception \ InvalidArgumentException: недопустимая ссылка на поток, предоставленная в файле" при попытке загрузить видеофайл, снятый с камеры с помощью response-native-image-picker. Теперь я столкнулся с той же проблемой, пытаясь загрузить фотографии несколько дней назад, пока я не переключился с «$ file-> move ()» на «Intervention Image». Я не совсем понимаю ошибку и нуждаюсь в некоторой помощи.

РЕДАКТИРОВАТЬ: я должен также упомянуть, что, когда я использовал почтальон для загрузки, это было успешно.

Спасибо

public function save_verification_video(Request $request) {
    /**
     * 'file' => 'mimes:video/x-ms-asf,video/x-flv,video/mp4,application/x-mpegURL,video/MP2T,video/3gpp,video/quicktime,video/x-msvideo,video/x-ms-wmv,video/avi'
     */
    try {
        $validator = $this->validator($request->all(), [
            'glam_id' => '',

        ]);
        if ($validator['failed']) {
            return \prepare_json(false, ['messages' => $validator['messages']],'',$status_code=200);     
        }

        $data = $request->all();

        if ($request->hasFile('body_video') || $request->hasFile('speech_video')) {
            // $this->out->writeln("User ".$user->last_name);
            $file = $request->file('body_video') ?? $request->file('speech_video');
            $verification_type = ($request->hasFile('body_video')) ? 'body_video' : 'speech_video';
            $path = public_path('/uploads/glams/'. $user->code . '/videos/'.$verification_type . '/');
            File::makeDirectory($path, $mode=0777, true, true);

            // $res = MediaUploader::fromFile($file)->upload();
            $res = $file->move($path, $file->getClientOriginalName());
            if ($res) {
                return \prepare_json(true, [],\get_api_string('generic_ok'), $status_code=200);
            }
            else {
                return \prepare_json(false, [],\get_api_string('file_not_ploaded'), $status_code=200);
            }
        }
        else {
            return \prepare_json(false, [],\get_api_string('no_videos'), $status_code=200); 
        }
    }
    catch(\Illuminate\Database\Eloquent\ModelNotFoundException $ex) {
        return \prepare_json(false, [], \get_api_string('glam_not_found'));
    }
    catch(\Exception $ex) {
        return \prepare_json(false, [],\get_api_string('error_occured').$ex->getMessage(), $status_code=200);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...