Php Laravel 5-我们如何从存储器访问图像
我需要查看个人资料图片时,页面加载。我使用了laravel存储上传图像,但我不知道如何检索和查看图像。请检查我下面的代码并帮助我 当前图像文件夹为storage/app/1/1.jpeg Laravel代码Php Laravel 5-我们如何从存储器访问图像,php,laravel,laravel-5,Php,Laravel,Laravel 5,我需要查看个人资料图片时,页面加载。我使用了laravel存储上传图像,但我不知道如何检索和查看图像。请检查我下面的代码并帮助我 当前图像文件夹为storage/app/1/1.jpeg Laravel代码 public function index() { $id = Input::get('id'); User::findOrFail($id); $file = Storage::get($id.'/'.$id.'.'.'jpeg');
public function index()
{
$id = Input::get('id');
User::findOrFail($id);
$file = Storage::get($id.'/'.$id.'.'.'jpeg');
return response($file, 200)->header('Content-Type', 'image/jpeg');
}
Please find the attached file
JS
<script>
$(function(){
$.post("/viewProfile/image", { id: 1 })
.done(function( data ) {
$('#responseImage').html('<img src="'+data+'">');
});
})
</script>
Firebug控制台标题
您试图将图像内容放入您的
img
标签中。您只需将src
属性指向viewProfile/image/:id
即可显示图像
编辑:
您的索引功能是从存储器中检索图像并显示它,这样,如果访问viewProfile/image/1
,您将在浏览器中看到图像
然后Javascript函数向该页面发送请求,检索到的输出被添加到img
标记中的src
属性中。但是src属性只接受实际图像的路径,而不接受图像数据本身,除非您使用data
因此,要解决问题,请保持索引函数不变,并在视图中显示用户图像,请执行以下操作,而不是执行div
:
<img src="/viewProfile/image/1">
在这种情况下,应该显示图像,而不需要使用Javascript函数。您可以更改控制器以传递一个
$id
变量,并将1
更改为{{$id}
是否确实正确链接了图片?您编码了存储::get($id./'$id.'jpeg');但你告诉我们你在找/storage/app/。它不应该是存储::get('app/'.$id./'.$id.'jpeg')@CDF,谢谢您的回复。这条路是正确的。在Laravel 5存储方法中,默认路径为storage/app/。我们可以编辑这个(config/filesystems.php)。好的,谢谢。我看到你用图片编辑了你的帖子。您还可以发布浏览器返回的标题吗?@CDF,我更新了我的帖子。您想将图像存储在文件夹中吗?我没有收到。请你写一些示例代码好吗?我会马上更新我的答案,只是想解释一下,确保我明白你想做什么。
<img src="/viewProfile/image/1">