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"/>