2017-10-05 85 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())); 
}