2017-10-25 4 views
0

업로드 할 때마다 데이터베이스에 이미지를 업로드하는 데 문제가 있습니다. 데이터베이스로 전송되는 데이터는 비어 있지만 로컬 디스크는 이미지를 저장할 수 있지만 잘 모릅니다. 무엇을 해야할지. 내가 컨트롤러 부분에 뭔가 잘못했을 거라고 생각업로드 된 이미지를 데이터베이스에 저장합니다.

컨트롤러 : 나는에 업로드 싶어

public function store1(Request $request){ 

    $this->validate($request, [ 
     'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 
    ]); 


    if ($request->hasFile('file')) { 
     $image = $request->file('file'); 
     $name = $image->getClientOriginalName(); 
     $size = $image->getClientSize(); 
     $destinationPath = public_path('/images'); 
     $image->move($destinationPath, $name); 

     $userImage = new UserImage; 
     $userImage->name = $name; 
     $userImage->size = $size; 
     //dd($userImage); 
     $userImage->save; 
} 

테이블 : 당신의 게시 된 코드에서

Schema::create('user_images', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->string('size'); 
     $table->integer('user_id'); 
     $table->timestamps(); 
}); 

enter image description here

+0

당신이 플래그를 얻기 전에 ... [이 이전의 대답을 읽을] (https://stackoverflow.com/a/35431752/4648586) . 또한 대부분의 경우 쿼리가 느려지므로 사용자 테이블에서'binary' 필드를 멀리 두십시오 .. 요약하면 BLOB은 다른 테이블에 있어야합니다 .. –

+0

@BagusTesa 답장을 요청할 때 깜빡하고 지금 당장은 질문이 있습니다. 이전에 사용했던 질문이었습니다. 질문을 편집했습니다. 도움을 청하십시오. – blastme

+0

흠, * 데이터베이스에 이미지를 업로드하고 있습니다. * 혼란 스럽습니다. 이전에'$ table- > 바이너리 ('userImage');'. 지금 당장 @ Miggy의 제안을 해봤 니? 코드에'()'이 없습니다. –

답변

3

, user_id에 대한 데이터 설정을 잊어 버렸습니다. 스키마에서 볼 수 있듯이 Nullable이 아니므로 데이터가 있어야합니다. 또한

, 당신의 ()를 넣어 시도 할 수 있습니다 당신과 같이 저장 :

$userImage->save(); 
+0

오 세상에, 고마워요. Miggy, 구하기 위해 브래킷을 놓는 것을 잊어 버렸습니다. 그것은 부주의 한 실수였습니다. 도와 줘서 정말 고마워, 내가 틀린 곳을 생각하면서 꽤 오랫동안 여기에 붙어 있었어 – blastme

+0

@blastme를 도울 수있어서 기뻤다 – Miggy

+0

안녕하세요, Miggy, 다른 질문을하고 싶습니다. 그러나 저장된 이미지를 인쇄하는 방법을 알고 있습니까? 공용 폴더에? 나는 이것을 사용하는 사람을 보았지만 그것을 사용하는 방법을 잘 모르겠습니다. " ->보기에 표시하려면 " – blastme