gpt4 book ai didi

mysql - 在 Laravel 中上传和检索图像

转载 作者:行者123 更新时间:2023-11-29 19:20:12 25 4
gpt4 key购买 nike

我需要保存头像图像。

谁能给我一个简单的代码来保存和检索图像?

我需要:

  • 将图像保存到文件夹中
  • 将图像名称保存在数据库中
  • 最后检索图像标签;我必须通过查询生成器来完成

表格:

 <form action="" method="post" role="form" multiple>
{{csrf_field()}}
<legend>Form Title</legend>

<div class="form-group">
<label for="">Your Image</label>
<input type="file" name="avatar">
</div>
<button type="submit" class="btn btn-primary">save</button>
<a href="{{'/'}}" class="btn btn-primary">back</a>
</form>
<img name="youravatar" src="">
</div>

路线:

Route::get('pic','avatarController@picshow');

Route::post('pic','avatarController@pic');

Controller :

我有avatarController,但它是空的,因为我不知道该怎么办。

数据库:

表名:头像
字段:名称 id、imgsrc、created_at、Updated_at

其他:

我找到了这段代码,但我找不到任何东西:

 if ($request->hasFile('avatar')) {
$file = array('avatar' => Input::file('avatar'));
$destinationPath = '/'; // upload path
$extension = Input::file('avatar')->getClientOriginalExtension();
$fileName = rand(11111,99999).'.'.$extension; // renaming image
Input::file('avatar')->move($destinationPath, $fileName);
}

最佳答案

首先,确保表单中有加密属性

<form action="#" method="post" enctype="multipart/form-data">

您可以在 Controller 中使用与此类似的内容

public function save(Request $request)
{

$file = $request->file('file');
// rename your file
$name = $file->getClientOriginalName();
\Storage::disk('local')->put($name, \File::get($file));

return "file saved";
}

是的,您也应该将文件路径存储在数据库中。

确保您为图像使用一致的路径,例如

最后,您必须创建一条路由以允许公众访问您的图像文件,如下所示:

Route::get('images/{file}', function ($file) {

$public_path = public_path();
$url = $public_path . '/storage/' . $file;

// file exists ?
if (Storage::exists($archivo))
{
return response()->file($pathToFile);
}

//not found ?
abort(404);
});

查看有关 Laravel Responses 的文档

我希望这能让您知道该怎么做。

关于mysql - 在 Laravel 中上传和检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42494833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com