【发布时间】:2017-06-18 12:51:18
【问题描述】:
我需要将上传的图片存储在表单中,将图片存储在public/uploads文件夹中并将文件名保存在数据库中,然后不需要显示上传的文件。
我成功,将文件上传到public/uploads文件夹,但它存储的问题是生成了一个唯一的名称,而我存储在db中的名称是原始名称。
....
$post_images->image_file_name = $image->getClientOriginalName();
Storage::disk('uploads')->put('prefix_'.$post_id, $image);
$post_images->save();
在视图中显示时,
<img src="{{url('/uploads')}}/prefix_{{$images->post_id}}/{{$images->image_file_name}}">
原始文件名(public/uploads/some_id/my_original_file_name.png)的 url 形式,但在 public/uploads/some_id/unique_name.png 中具有唯一名称。
如何获取上传文件的唯一名称并将其保存在数据库中? 或者任何其他方式来实现这一点?
【问题讨论】:
-
如何创建唯一名称?请提供更多代码
-
@utdev 唯一的名字是由 laravel 创建的。当我们使用
Storage::disk('uploads')->put();时,它会创建一个唯一的文件名并保存文件。
标签: php laravel file-upload laravel-5 laravel-filesystem