【发布时间】:2019-03-15 09:58:46
【问题描述】:
我有一个包含多个字段的表单,其中存储包括图像上传在内的信息。 还有一个编辑视图:
Route::PUT('/link/{link}', function (Request $request, Link $link) {
$request->validate([
'name' => 'required|max:255',
'title' => 'required|max:255',
'cell' => 'required|max:255',
'tel' => 'required|max:255',
'email' => 'required|max:255',
'website' => 'required|url|max:255',
'location' => 'required|max:255',
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$img = $request->file('image');
$newfilename = $request->name;
$img->move(public_path("/uploads"), $newfilename);
$link->update($request->all());
return redirect('/');
});
初始提交和编辑工作正常,同时更改图像文件名并将其存储在上传文件夹中。
生成的路径为:
public/uploads/exampleFileName.jpg
这里的问题是在主视图中显示图像时。下面的代码生成了一个 404 not found 和一个额外的 /tmp/ 路径,我不知道它来自哪里。
主页视图中的代码:
@foreach ($links as $link)
<div class="link-box">
<h5 class="off-white-txt">Card [# {{ $link->id }}]</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Name: </span>{{ $link->name }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Title: </span>{{ $link->title }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Cell: </span>{{ $link->cell }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Tel: </span>{{ $link->tel }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Email: </span>{{ $link->email }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Website: </span>{{ $link->website }}</h5>
<h5 class="off-white-txt"><span class="pool-blue-txt">Location: </span>{{ $link->location }}</h5>
<img src="{{url('uploads'.$link->image) }}" class="off-white-txt">
</div>
控制台中的错误信息:
GET http://192.168.10.10/uploads/tmp/phpdtnTcw 404 (Not Found)
我的问题如下;如何编辑我的代码以指向正确的路径并显示图像?
提前谢谢你。
【问题讨论】:
-
您是否尝试过保存图像而不是移动它?在您移动图像时,图像并未存储在您的应用程序中。
标签: php laravel image file-upload