所以我撞墙了。我想将数据保存在我的项目文件夹中,并在数据库中显示文件名。但这似乎都不起作用。
因此我正在使用此功能存储数据图像
public function insertproof(Request $request)
{
$id = $request['id'];
if ($request->hasFile('rent_proof')){
$filepath = $request->file('rent_proof')->store('public');
$result = rent::where('id',$id)->first();
$result->rent_proof=$filepath;
$result->save();
}
return redirect()->back()->with('status', 'proof updated');
}
此功能为我提供了数据库上的“ public / {filename}”,并保存在storage / app / public
带有存储:链接还可以使我成为公共/存储
根据文档,我可以使用类似的东西
{{ asset('storage/'.$rent->rent_proof) }}
但是我似乎无法通过我的视图加载它
<button class="btn-success editrent"
data-id="{{ $rent->id }}"
data-proof="{{ $rent->rent_proof }}"
data-toggle="modal" data-target="#modal-insertproof">
<i class="fa fa-pencil" align="center">Input proof</i>
</button>
这是我的js
$(document).ready(function(){
$(document).on('click', '.editrent', function() {
$('#idrent').val($(this).data('id'));
$('#rentproof').val($(this).data('proof'));
});
我点击后的模态
<form method="POST" action="{{route('visitor_rent.insertproof')}}" enctype="multipart/form-data">//use the insertproof controller
<div class="form-group">
<input type="file" class="form-control" name="rent_proof" id="rentproof" >
<img style="max-width: calc(100% - 20px)" src="{{ asset('storage/'.$rent->rent_proof) }}">
</div>
</form'
我很困惑,谢谢您的关心。这似乎是一篇很长的帖子,对此感到抱歉。
控制台
GET http://127.0.0.1:8000/storage/public/HXVTfZo9UKuFRJCanOWrCeQw7flyJM9N8uUxUR5d.png 404 Not Found
这是我的错吗?我试图解决此问题,但它像公用文件夹一样。感谢您的帮助。