我的控制器上有这个功能
public function get_images(Request $request){
$images = inventory_images::where('item_id',$request->id)->get();
$path = Storage::disk('local')->getDriver()->getAdapter()->getPathPrefix();
return response()->json([ 'success' => true, 'images' => $images, 'id' => $request->id, 'path' => $path ]);
}
所以'$ path'包含存储路径,我的图像存储在'storage'文件夹中,'$ images'包含文件名,然后在我的前端(渲染图像)
$.each(e.images,function(index,value){
$("#notification_dialog #gallery-items-container").append('<a href="'+e.path+value.image_name+'"> <figure> <img src="'+e.path+value.image_name+'"> </figure></a>');
});
在图像'src'我有这条路径
C:\ wamp \ www \ Clinic and Inventory 系统\存储\应用\公共\ items_gallery \ 10014589_974440645904700_5867266076580720168_n.jpg
在控制台中,我有这个错误
:1不允许加载本地资源: 文件:/// C:/wamp/www/Clinic%20and%20Inventory%20System/storage/app/public/items_gallery/10014589_974440645904700_5867266076580720168_n.jpg
图像没有渲染,如果我将路径粘贴到浏览器,我可以看到图像,这意味着路径是正确的,只是图像没有渲染,任何想法,请帮忙吗?
答案 0 :(得分:-1)
将数据属性放在包含图像的标记上:
data-image_path="{{ asset('uploads/*name of model this is being associated with/original/') }}"
资产指向项目的公共目录。
然后从控制器中检索图像名称并将其附加到该路径。
答案 1 :(得分:-1)
我在某个地方找到了解决方案,
Route::get('/images/{image}', function($image = null)
{
$path = storage_path().'/app/public/items_gallery/' . $image;
if (file_exists($path)) {
return Response::download($path);
}
});
现在好了。