我需要在页面加载时查看配置文件pic。我使用了laravel存储来上传图片,但我不知道如何检索和查看图片。请检查我的以下代码并帮助我。
当前图片文件夹是storage / app / 1 / 1.jpeg
Laravel代码
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');
}
JS
<script>
$(function(){
$.post("/viewProfile/image", { id: 1 })
.done(function( data ) {
$('#responseImage').html('<img src="'+data+'">');
});
})
</script>
HTML
<div id="responseImage"> </div>
Firebug控制台响应
Please find the attached file
答案 0 :(得分:1)
您正尝试将图片内容放入img
标记内。您只需将src
属性指向viewProfile/image/:id
即可显示图像。
编辑:
您的索引功能是从存储中检索并显示图像,因此,如果您访问viewProfile/image/1
,您将在浏览器中看到该图像。
然后您的Javascript函数正在向该页面发送请求,并且检索到的输出会添加到src
标记中的img
属性中。但是src属性只接受实际图像的路径,而不接受图像数据本身,除非您使用data
。
因此,要解决您的问题,保持索引功能不变,并在视图中显示用户图片,请执行以下操作,而不是div
:
<img src="/viewProfile/image/1">
在这种情况下,应显示您的图像,而您无需使用Javascript功能。您可以更改控制器以传递$id
变量并将1
更改为{{ $id }}