2016-10-14 11 views
-2

私はlaravel 5.3を使用しています。ファイルをディレクトリにアップロードします。laravel 5.3アップロードファイル

public function store(Request $request) 
{ 
    $path = $request->attachment->store('attachment'); 
} 

が、それは以前にメンバ関数ストアにエラー

コール()文字列の

を得る:私はこのコードのように、ファイルをアップロードするためlaravelドキュメント以下のしてきましたlaravel 5.2では、ファイルをアップロードするためにこのコードを使用しています。

しかしlaravel 5.3にそれは動作しませんだ、と私はエラー

未定義の変数を取得します:先

あなたは私のコードで何を間違って助けることができますか?

答えて

1
public function store(Request $request) 
{ 
    $path = $request->attachment->store('attachment'); 
} 

私はあなたがしようとしているものは$request->attachmentとは思わない。その行を変更します。

$request->file('attachment')->store('/your/destination/path') 

if($request->hasFile('attachment')){ 
    $destination = 'upload/attachment'; 
    $file = $request->file('attachment'); 
    $file->move($destination, $file->getClientOriginalName()); 
} 

$filelocation = $destination. "/" .$file->getClientOriginalName(); 

$request->hasFile('attachment')falseある場合は、$destinationが宣言されません。だから、$filelocation行に達すると、未定義の変数が得られます。

+0

やあ、 あなたはストレージにファイルを保存します$ request-> file( 'attachment') - > store( 'storage/attachment')を使用しています。それはエラーを取得するnullのメンバー関数のストア()を呼び出す – rafitio

+0

これは、file()メソッドが何も返されていないことを意味します。名前が「添付ファイル」であるファイルをアップロードしていることを確認します。 –

+0

私は入力名の添付ファイルを設定しました – rafitio

1

Larave 5.3では、あなたは、このように簡単なアップロードファイルを使用することができます。

$request->file('file')->storePublicly($folderSrc); 

をこれは、私が」/アプリ/公共/あなたはフォルダ-srcの最初の