我试图在index.blade
上显示上传的图像,但它没有显示,尽管<img>
标记中的文件路径是正确的,我也在控制台上检查了它也得到了正确的路径。映像存储的控制器:
if($request->hasFile('profilepic')){
$file = $request->file('profilepic');
$profilepic=$file->getClientOriginalName();
$file->storeAs('public/profile', $profilepic);
$detail['profilepic'] = $profilepic;
}
if($request->hasFile('signature')){
$file1 = $request->file('signature');
$signature=$file1->getClientOriginalName();
$file1->storeAs('public/sign', $signature);
$detail['signature'] = $signature;
}
$detail->save();
return response()->json([
'status'=> 'success',
'data' => $detail
]);
字符串
img路径索引刀片
<td><img src="../storage/app/public/profile/{{ $detail->profilepic }}" width="100px"></td>
<td><img src="storage/app/public/sign/{{ $detail->signature }}" width="100px"></td>
型
AJAX jquery:
$(document).on('submit','.create_form',function(event)
{
event.preventDefault();
const fd = new FormData(this);
$.ajax({
url: "{{ route('details.store') }}",
data: fd,
type: "POST",
dataType: "json",
contentType: false,
processData: false,
success: function(response)
{
$(".div3").load("{{ route('details.index') }}");
},
error: function(error)
{
console.log("Errors :",error);
}
});
});
型
的数据
还尝试将.env
文件中的APP URL
放在<img src>
中,但不起作用。
1条答案
按热度按时间9fkzdhlc1#
我在下面列出了一些你可以尝试验证/解决你的问题的事情。
1.确保图像正确存储在指定的存储目录中。检查
public/profile
和public/sign
目录,确认图像已保存在其中。1.在Laravel中,存储在
storage/app/public
目录中的文件不能直接访问。您需要创建一个符号链接,使它们可以从Web访问。在终端中运行以下命令以创建符号链接:字符串
此命令将创建从
public/storage
到storage/app/public
的符号链接。确保符号链接已成功创建。1.更新
index.blade
文件中的图像源路径以使用正确的URL。不使用相对路径,而是使用asset()
helper函数根据符号链接生成正确的URL:型