2016-08-11 5 views
0

여기에 오류가 있습니다.Laravel 전자 메일 첨부 파일

$file = $request->file('upload_cv'); 

$fileName = $file->getClientOriginalName(); 

$request->file('upload_cv')->move("cv/", $fileName); 

$tambah->upload_cv = $fileName; 

$tambah->save(); 

$email = DB::table('user')->where('email'); 

Mail::send('emails.welcome', array(
    'email' => $request['email'], 
    'HP'  => $request['kontak'], 
    'nama' => $request['nama'], 
    'posisi' => $request['posisi'], 
    'CV'  => $tambah->upload_cv = $fileName 
), function ($message) use ($request, $tambah, $email, $file) 
{ 
    $message->from('[email protected]', $request->posisi);  
    $message->to('[email protected]') 
      ->subject('Lamaran Baru') 
      ->cc('[email protected]') 
      ->attach($file) 
      ->replyTo($request->email); 

    $message->getSwiftMessage(); 
}); 

return redirect()->to('index'); 

제출을 클릭하면 오류가 발생하며, 현재 양식에 영원히 걸려 있습니다. ->attach($file)을 제거하면 인덱스로 리디렉션됩니다. 즉, 인덱스가 작동했음을 의미합니다. 하지만 ->attach($file)을 항상 현재 페이지에로드하고 남겨두면됩니다.

무엇이 잘못 되었습니까? 감사합니다.

+0

첨부 할 첨부 파일의 크기는 어느 정도입니까? 그것은 단지 아직도 업로드 할 수 있습니다. –

답변

0

attach 메서드는 파일 경로를 예상하지만 요청의 UploadedFile 인스턴스를 직접 전달합니다. 대신 laravel이 메일을 찾아서 첨부 할 수 있도록 파일의 경로를 사용하십시오.

파일의 전체 경로를 전달해야합니다. 예를 들어, cv 폴더 내의 프로젝트 루트에 파일을 업로드하는 경우입니다. 예 :

  • 프로젝트 루트

그런 다음이처럼 쓸 수

  • 이력서.

    ->attach(base_path("cv/" . $file->getClientOriginalName())); 
    
+0

감사합니다 Zayn ... –

관련 문제