laravel - 更改上传图片的目录
问题描述
如何更改上传图片的目录。我想将它上传到 App/public/files 文件夹中。
我的代码在这里:
public function update(Request $request, Organigramme $organigramme)
{
$id = $organigramme->id;
$organigramme = Organigramme::find($id);
$organigramme->matricule = $request->input('matricule');
if ($request->has('profile_image'))
{
$image = $request->file('profile_image');
$name = str_slug($request->input('matricule'));
$folder = '/uploads/images/';
$filePath = $folder . $name. '.' . $image->getClientOriginalExtension();
$this->uploadOne($image, $folder, 'public', $name);
$organigramme->profile_image = $filePath;
$organigramme->save();
}
return view( 'admin.organigrammes.show', compact('organigramme'));
}
public function uploadOne(UploadedFile $uploadedFile, $folder = null, $disk = 'public', $filename = null)
{
$name = !is_null($filename) ? $filename : str_random(25);
$file = $uploadedFile->storeAs($folder, $name.'.'.$uploadedFile->getClientOriginalExtension(), $disk);
return $file;
}
解决方案
在 config/filesystems 文件中添加一个新的保存路径。例如:
'images' => [
'driver' => 'local',
'root' => base_path().'/app/public/files',
],
在代码本身中,使用以下代码保存:
存储::disk('images')->put($path, $image);
推荐阅读
- javascript - Javascript 列表。输入和输出值
- java - 根据较长的输入字符串生成恰好 10 个字符的随机且唯一的密钥
- ajax - 带有 url 的 CSRF 令牌正在工作,但带有表单参数的 CSRF 无效
- tomcat8.5 - 我无法通过 chrome 浏览器访问 Tomcat 管理器,尽管它可以在 Edge 上运行
- javascript - 如何在javascript中单击函数时更改对象属性的值?
- python - 如何在 Firefox 的缓存文件夹中的每个文件中搜索“http”?
- c# - 如何读取没有标题的 CSV
- mongodb - 如何在 Meteor 发布功能中使用 rawCollection
- python - 在 selenium 自动化 selenium.common.exceptions.NoSuchElementException 期间出现错误:消息:无法找到元素:python
- vue.js - 提交表单时两次更新数据的方法