@Givi777

Как загружать картинки на сервер Laravel?

if ($request['files']){
            $files = $request->file('files');

            foreach ($files as $file) {
                $path = $file->store('uploads/company');
                $disk->setVisibility($path, 'local');
                
                $created_photo = CompanyFile::query()->create([
                    'company_id' => $id,
                    'file_type' => $path,
                ]);
            }
        }

в базу картинки с путями сохраняются а на сервер не заливаются?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 2
@LaraLover
Попробуйте вместо $path = $file->store('uploads/company'); использовать move
$filename = $this->getFileName($request->file);
    	$request->image->move(base_path('uploads/company'), $filename);
Ответ написан
Комментировать
VariusRain
@VariusRain
музыкант-программист-конструктор
Код функции, которую я использую в своих проектах.
Подразумевается загрузка с помощью AJAX, то сути дела это не меняет

public function uploadGallery(Request $req) {
	try {
		$files = $req->file('photo');
		foreach ($files as $file) {
			$tmp1 = md5(microtime());
			$tmp2 = md5(uniqid());
			$newName = strtolower(substr(base64_encode($tmp1 . $tmp2), 0, 7)).'.'.$file->getClientOriginalExtension();
//здесь важная поправка куда перемещать - это абсолютный путь
//так что к слову media в моём случае нужно ещё применить функцию base_path или конкотинировать результат функции public_path
			$file->move('media', $newName);
			//Storage::putFileAs('/public/ //строчка закомментирована, но можно использовать её
		}
	} catch (\Exception $err) {
		//$errorcode = $err->getMessage();
	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы