Php 如何上传图像并获取它';Laravel 6中的url

Php 如何上传图像并获取它';Laravel 6中的url,php,laravel,file-upload,laravel-6,Php,Laravel,File Upload,Laravel 6,我知道这应该是世界上最基本的东西,但不知怎么的,我不能让它工作。我有一个具有图像字段的模型类别 这是上传文件的代码 $uploadedFile = $request->file('image'); $fileName = time().$uploadedFile->getClientOriginalName(); $path = $uploadedFile->move(public_path().'/uploads/categories', $fileName); $categ

我知道这应该是世界上最基本的东西,但不知怎么的,我不能让它工作。我有一个具有图像字段的模型类别

这是上传文件的代码

$uploadedFile = $request->file('image');
$fileName = time().$uploadedFile->getClientOriginalName();
$path = $uploadedFile->move(public_path().'/uploads/categories', $fileName);
$category->image = $path;
$category->save();
当我尝试时,它实际上上传了图像,但没有显示正确的url,我想在这样的img标记中使用该url

<img src="{{$category->image}}" class="img-fluid"/>

这当然对img标签不起作用…有什么线索说明为什么会发生这种情况吗?如何为我上传的文件获取正确的url?

试试以下方法:

<img src="{!! asset('images/uploads/categories/logo.svg') !!}" />

您只需在表中插入您的图像名称和扩展名:

if($request->hasFile('image'))
{
  $image = $request->file('image');
  $image_name = time().$image->getClientOriginalExtension();
  $destinationPath = public_path('/uploads/categories');
  $image->move($destinationPath, $image_name);
}

$user = new User;
$user->image = $image_name; // Save only file name
// More data
$user->save();
然后在你的刀片上:

<img src="{!! asset($category->image) !!}" class="img-fluid"/>
image)“class=”img流体“/>

image}“class=“img流体”/>

希望这有帮助。

这能回答您的问题吗?因为
public\u path
返回文件系统路径。您不需要文件系统路径,而是需要URL。您可能正在寻找类似于
asset()
,文件上载是可以的,但对于数据库,您应该只存储路径。“这当然对img标记不起作用…”错误。这是映像的路径,显然在
src
@Qumber-Rizvi中可以工作……但我觉得公开文件系统结构不是一个好的做法。。。。
<img src="{!! asset($category->image) !!}" class="img-fluid"/>
<img src="/uploads/categories/{{ $category->image }}" class="img-fluid"/>