laravel5.5 이미지 업로드 방법
그림 파일을 업로드하여 응용 프로그램에 표시하고 싶습니다.
나는 초보자의 방식에 따라 노력했다.
하고 싶은 일
나는 개인 자료에 사용할 그림을 업로드하고 표시하고 싶다.
이미지 파일용 데이터베이스
파일 경로를 저장하기 위해 기존users 테이블에 열을 추가합니다.
php artisan make:migration add_image_column_users_table --table=image
라우팅 선택
제 페이지에서 이미지 투고용 표로 이동하고 싶어서 정리했습니다.
web.php
Route::group(['middleware' => ['auth']],function() {
//画像投稿フォーム表示
Route::get('userimage', 'UserEditController@index')->name('image.index');
//画像保存
Route::post('userimage', 'UserEditController@upload')->name('image.upload');
컨트롤러
업로드용 컨트롤러를 만들고 싶어요.
UserEditController.php
//画像アップロード画面を表示
public function index()
{
return view('edit.user_image');
}
UserEditController.php//画像アップロードされた画像を保存
public function upload(Request $request)
{
//バリデーション
$this->validate($request,[
'userimage' => 'required|image'
]);
if($request->isMethod('POST'))
{
$path = $request->file('userimage')->store('public/img');
$image = User::find(\Auth::id());
$image->image = basename($path); //imageカラムに保存
$image->save();
return back()->with(['success' => 'ファイルを保存しました']);
}
}
위의 코드는 storage/app/public/img/
에 업로드된 이미지를 저장합니다.금방 방법을 잊어버리기 때문에 필기를 합니다.
store()
고유한 파일 이름을 자동으로 생성합니다.isMethd
공식 사이트요청 가져오기 방법
또한 isMethod 방법을 사용하면 지정한 문자열과 HTTP 동사가 일치하는지 조사할 수 있습니다.
이게 아니어도
if ($request->hasFile('image')) //hasFile()内はinput type の name属性
근데 보기 좋아요.basename
파일 경로를 제외하고 파일 이름만 체크 아웃합니다.보기
업로드된 이미지의 저장 장소와 읽기 장소가 다르다고 합니다.
저장 위치는
storage/app/public/
읽기 위치는 public/storage/
그래서 기호 링크를 설정합니다.바로 가기인 것 같습니다.php artisan storage:link
이렇게 됐으면 좋겠어요.이렇게 하면 읽기 장소에서 저장 장소를 참조할 수 있다.이렇게 됐어.
AWS의 cloud9에는 이런 것이 있습니다.
참고로 위의 코드 저장
storage/app/public/img/
에 업로드된 이미지입니다.이미지 읽기
<img src="{{ asset('/storage/img/' . \Auth::user()->image) }}">
이렇게 읽었어요.이렇게 하면 되나요...?asset()
파일에 대한 전체 경로를 생성할 수 있습니다.이것은 https 통신할 때 매우 번거로운 것 같다.일단 공부하면 또 다른 기회다.
곤란한 일
처음에 코드를 만들었는데 뭐든지 가능하기 때문에 이미지를 올리려고 캡처를 올리려다가 오류가 났어요.
The userimage failed to upload.
매우 어리석은 잘못으로 괴로워하다.dd($request->file('userimage'));
그래도 false가 될 거야.나는 무엇을 해도 몰라서 매우 난처하다phpinfo();
확인 후 PHP의 파일은 2MB로 제한됩니다.몰라요.그림 사이즈를 확인했는데 과연 초과했습니다.
기억할게요.
많이 배웠어요.
여기까지 읽어줘서 고마워요.
이 사이트를 참고하도록 허락해 주세요.
Laravel에서 이미지 파일 업로드 예
이미지 업로드 (기본)
Laravel에서 이미지를 업로드하는 방법
[Laravel] 사용자 아이콘 이미지를 투고하고 표시하는 기능을 실현하기 때문에 필기(이미지의 저장 장소는? 기호 링크?)
Laravel에 이미지 파일 저장하기
[Laravel5.6] 이미지 파일 업로드에 대한 요약
정말 고맙습니다.
Reference
이 문제에 관하여(laravel5.5 이미지 업로드 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ama_keshi/items/8eabb1f80e4f1575ae04텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)