我想用原始名称保存上传的文件。我必须在此代码中添加什么?
下面是我的代码
public function store(Request $request)
{
if($request->hasFile('image'))
{
$file = $request->file('image');
$originalname = $file->getClientOriginalName();
$filename =$originalname;
$file->move('public/', $filename);
}
答案 0 :(得分:0)
您可以使用storeAs
方法,该方法接收路径,文件名和(可选)磁盘作为其参数:
public function store(Request $request)
{
if($request->hasFile('image'))
{
$file = $request->file('image');
$originalname = $file->getClientOriginalName();
$path = $file->storeAs('public/', $originalname);
}
}
答案 1 :(得分:0)
尝试一下:
if($request->hasFile('image'))
{
$file = $request->file('image');
$originalname = $file->getClientOriginalName();
$img = Image::make($file->getRealPath());
$img->stream();
Storage::disk('local')->put('images/'.$originalname, $img, 'public');
}
答案 2 :(得分:0)
使用原始文件名上传文件。
if ($request->hasFile('image')) {
$file_path = $request->file('image')->storeAs('dir_name', request()->file('image')->getClientOriginalName(), 'optional_disk_name');
}
// pass the disk name as the third argument to the storeAs method: ex. local,s3,etc