2017-04-12 12 views
0

ユーザープロフィールの画像を簡単に処理する方法はありますか?お客様の画像のプロフィール

私はVichUploaderBundleを試してみましたが、成功しませんでした。

+1

あなたが試したこと(実装)と、どこで止まっているのかを示します。あなたの質問を改善するには、[どうすれば良い質問をしますか?](http://stackoverflow.com/help/how-to-ask)を読んで、それに応じて質問を更新してください。 –

+0

もちろん、私は[インストール手順](https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/installation.md)に問題なく、私は[ymlマッピング](https: //github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/mapping/yaml.md)。これはdoctrine:schema:updateには影響しません。 設定が必要な場合 –

+1

はい、コードを追加して実装方法を確認してください –

答えて

0

データベースに一意の名前とストア名でフォルダに保存します。

画像をアップロードするには、フォームにFileTypeフィールドを使用できます(文書番号here)。あなたは、私が覚えているフォーム検証のためIMAGETYPEを使用することができ、ここでフォルダ内のファイルを保存して、データベース内のファイル名が保存されますいくつかのコードです:

$user = new User(); 
    $form = $this->createForm(UserForm::class, $user); 

    $form->handleRequest($request); 

    if ($form->isSubmitted() && $form->isValid()) { 
     $img = $user->getPhoto(); 

     $fileName = md5(uniqid()).'.'.$img->guessExtension(); 
     $user->setPhoto($fileName); 
     // Move the file to the directory where brochures are stored 
     $img->move(
      $this->getParameter('user_image_directory'), 
      $fileName 
     ); 
     $em = $this->getDoctrine()->getManager(); 
     $em->persist($user); 
     $em->flush(); 
    } 

をそして、あなたは、IMGを表示したいときにそれを表示するには、あなたが$ user-> getPhoto()でファイル名を読んでテンプレートに送ると、テンプレートからuser.getPhoto()を呼び出したときにバグがありました。おそらくそれは私だけでした。

img src="{{ asset('media/users/') }}{{ filename }}"></div> 
関連する問題