2017-04-07 4 views
0

私はlaravel 5.4を使用しています。私のリクエストでimagePathフィールドを置き換えようとしています(アップロードされたイメージの名前を変更しています)。|フォームのリクエストでフィールドを置き換える方法は?

説明:その名($name)を変化させながら、フォームが送信されたときに

要求フィールド(request->imagePath)がアップロードされた画像の一時的な場所が含まれている、私はディレクトリにそのtmpに画像を移動しています。今のところrequest->imagePathには古いtmpイメージの場所がありますので、request->imagePathの値を新しい場所に変更してからユーザーを作成します。そのが働いていないので、

 if($request->hasFile('imagePath')) 
    { 
      $file = Input::file('imagePath'); 

      $name = $request->name. '-'.$request->mobile_no.'.'.$file->getClientOriginalExtension(); 

      echo $name."<br>"; 

      //tried this didn't work 
      //$request->imagePath = $name; 

      $file->move(public_path().'/images/collectors', $name); 

      $request->merge(array('imagePath' => $name)); 

      echo $request->imagePath."<br>"; 
    } 

しかし、同様

は、ここで出力され

mahela-7829899075.jpg 

C:\xampp\tmp\php286A.tmp 

私はmerge()が正しい方法であると考えている

+0

普通の配列としてそれを使用する: '$要求[ 'IMAGEPATH'] = $ NAME'、いいえ? –

+0

@ Jean-PhilippeMurrayもそれを試しましたが、まだ何も変わらない –

答えて

2

は、それが持つ提供の配列をマージします助けてくださいParameterBagの既存の配列。

ただし、入力変数に誤ってアクセスしています。代わりに$request->input('PARAMETER_NAME')を使用してみてください...

したがって、あなたのコードは次のようになります。

if ($request->hasFile('imagePath')) { 
    $file = Input::file('imagePath'); 
    $name = "{$request->input('name')}-{$request->input('mobile_no')}.{$file->getClientOriginalExtension()}"; 

    $file->move(public_path('/images/collectors'), $name); 
    $request->merge(['imagePath' => $name]); 

    echo $request->input('imagePath')."<br>"; 
} 

注:またpublic_path()にあなたのパスを渡すことができ、それはあなたのためにそれを連結します。

参照
入力の取得:
https://laravel.com/docs/5.4/requests#retrieving-input
$request->merge()https://github.com/laravel/framework/blob/5.4/src/Illuminate/Http/Request.php#L269
public_pathhttps://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/helpers.php#L635

+0

それは正しい名前を印刷しました!だからもし私が$ user = User :: create($ request-> all()); imagePathはテーブルに新しい値を持っていますか? –

+0

はい、新しい値になります。 '$ request-> input()'はすべての入力を返し、 '$ request-> all()'はすべての入力とファイルを返します。 – user1960364

+0

それは働いた!どうもありがとうございます!あなたはその日を救った –

関連する問題