2017-10-05 19 views
0

客戶端發送文件到服務器。它看起來像這樣:如何處理Laravel中的文件?

array:1 [▼ 
    "file" => array:5 [▼ 
    "name" => "MMM1(one row).TXT" 
    "type" => "application/octet-stream" 
    "tmp_name" => "/tmp/phpaKnJzE" 
    "error" => 0 
    "size" => 1365 
    ] 
] 

如果做如下操作:

dd($_FILES); 

我試圖處理類似THI文件:

foreach ($_FILES["file"] as $file) { 
    $file->store('tests'); 
    $file->getClientOriginalName(); 
} 

但它不爲我工作。

它involke一個錯誤:在陣列

$this->file->getClientOriginalName() 
+2

嘗試閱讀有關處理文件的Laravel文檔:https://laravel.com/docs/master/requests#files –

回答

1

調用一個成員函數getClientOriginalName()你需要設置下面的代碼在您的文章行動

$photo = $request->file('img'); 
$path = storage_path('app/public/avatars/'); 
$photo->move($path, $request->file('img')->getClientOriginalName()); 
0

如果你」重新上傳圖片,那麼你也可以使用intervention/image包。 使用這個,你也可以做基本的圖像處理。

在你控制後操作執行以下操作:

use Intervention\Image\Facades\Image; 

if($request->hasFile('image')){ 
    $image = \Image::make($request->file('image')); 
    $image->save(storage_path('images/'. $request->file('image')->getClientOriginalName())); 
}