如何处理 Laravel 中的文件?
How to handle file in 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);
我尝试像这样处理文件:
foreach ($_FILES["file"] as $file) {
$file->store('tests');
$file->getClientOriginalName();
}
但这对我不起作用。
它涉及一个错误:
调用数组的成员函数 getClientOriginalName()
$this->file->getClientOriginalName()
您需要在 post 操作中设置以下代码
$photo = $request->file('img');
$path = storage_path('app/public/avatars/');
$photo->move($path, $request->file('img')->getClientOriginalName());
如果您要上传图片,那么您还可以使用 intervention/image
包。
使用它,您还可以进行基本的图像处理。
在您的控制器 post 操作中执行以下操作:
use Intervention\Image\Facades\Image;
if($request->hasFile('image')){
$image = \Image::make( $request->file( 'image' ) );
$image->save( storage_path('images/'. $request->file('image')->getClientOriginalName()));
}
客户端向服务器发送文件。它看起来像这样:
array:1 [▼
"file" => array:5 [▼
"name" => "MMM1(one row).TXT"
"type" => "application/octet-stream"
"tmp_name" => "/tmp/phpaKnJzE"
"error" => 0
"size" => 1365
]
]
如果进行如下操作:
dd($_FILES);
我尝试像这样处理文件:
foreach ($_FILES["file"] as $file) {
$file->store('tests');
$file->getClientOriginalName();
}
但这对我不起作用。
它涉及一个错误:
调用数组的成员函数 getClientOriginalName()
$this->file->getClientOriginalName()
您需要在 post 操作中设置以下代码
$photo = $request->file('img');
$path = storage_path('app/public/avatars/');
$photo->move($path, $request->file('img')->getClientOriginalName());
如果您要上传图片,那么您还可以使用 intervention/image
包。
使用它,您还可以进行基本的图像处理。
在您的控制器 post 操作中执行以下操作:
use Intervention\Image\Facades\Image;
if($request->hasFile('image')){
$image = \Image::make( $request->file( 'image' ) );
$image->save( storage_path('images/'. $request->file('image')->getClientOriginalName()));
}