как решить проблему загрузки файла laravel - PullRequest
0 голосов
/ 05 ноября 2019

Я пытался загрузить изображение в свою общую папку, но я постоянно получаю сообщение об ошибке, подобное этому

The "C:\xampp\tmp\phpCE7B.tmp" file does not exist or is not readable.

Это мой код, который я пробовал до сих пор

public function create(Register $request)
    {
        //Registering Students
        $student=new Student;
        $student->name = $request->input('name');
        $student->username = $request->input('username');
        $student->email = $request->input('email');
        $student->password = bcrypt($request->input('password'));
        $student->gender = $request->input('gender');
        $student->phone = $request->input('phone');
        if ($request->hasFile('image')) {
            $file=$request->File('image');
            $ext=$student->username. "." .$file->clientExtension();
            $path = public_path(). '/images/';
            $file->move($path,$ext);
            $student->image = $ext;
        }
        $student->save();
}

он сохранил мою информациюс изображением в базе данных, но после сохранения дает мне ошибку. Пожалуйста, помогите мне решить эту проблему

"ОБНОВЛЕНИЕ"

Я не знаю, что этопроисходит со мной, но теперь он работает автоматически

Ответы [ 3 ]

0 голосов
/ 05 ноября 2019

У меня та же проблема, когда я пытаюсь загрузить изображение в публичный путь. Я решил проблему, определив диск файловой системы в конфигурации (файловые системы) следующим образом:

'YourDiskName' => [
    'driver' => 'local',
    'root'   => public_path(),
],

, затем вы можете загрузить изображения по этому пути с помощью метода StoreAs:

$file = $file->storeAs(YourPathInPublic, YourFileName, [
    'disk' => 'YourDiskName'
]);
0 голосов
/ 06 ноября 2019
// Get Form Image
             $image = $request->file('image');
            $slug = str_slug($request->name);
            if (isset($image))
            {
                $currentDate = Carbon::now()->toDateString();
                $imagename = $slug.'-'.$currentDate.'-'. uniqid() .'.'. $image->getClientOriginalExtension();
                if (!file_exists('storage/uploads/post'))
                {
                    mkdir('storage/uploads/post',0777,true);
                }
                $image->move('storage/uploads/post',$imagename);
            }else{
                $imagename = "default.png";
            }
//getting coding


 public function index(){

    return view('admin.post.index',compact('posts'));
    }
// show code

<div class="body">
  <img class="img-responsive img-thumbnail" src="{{ asset('storage/uploads/post/'.$post->image) }}" >
    </div>
0 голосов
/ 05 ноября 2019

У меня тоже была такая же проблема, когда я использую public_path()

Попробуйте что-то подобное, а не public_path. На самом деле нет ничего плохого в вашем коде. Но это происходит в большинстве случаев из-за уровней разрешений. Как говорили другие, вы можете попробовать переустановить Xampp или просто попробовать это.

if ($request->hasFile('image')) {
    $file = $request->File('image');
    $ext = $student->username.".".$file->clientExtension();

    $ext->save('your_public_path/'.$ext);

    //$path = public_path().'/images/';
    //$file->move($path,$ext);
    $student->image = $ext;
}

Пример кода из одного моего проекта для вашей информации

$image = $request->file('uploadUserAvatar');
$fileName = time().'.'.request()->uploadUserAvatar->getClientOriginalExtension() ;
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(300,300);
$image_resize->save(('assets/img/user_avatars/'.$fileName));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...