无法在Laravel的vue组件窗体存储中显示图像
我无法在Laravel的存储目录中的vue组件中显示图像。请帮我解决这个问题: 图像以无法在Laravel的vue组件窗体存储中显示图像,laravel,vue.js,laravel-7,Laravel,Vue.js,Laravel 7,我无法在Laravel的存储目录中的vue组件中显示图像。请帮我解决这个问题: 图像以public/avatar/TSD50oeYXnkrX1nQ38N9zljP1FRdP42yPhJOrEKg.png的形式存储在数据库中 如果我删除公共路径并执行此操作 我可以在storage/public/avatar文件夹中看到vue组件中显示的图像 方法获取单个用户的详细信息 public function user($id){ return $user = User::find($id)
public/avatar/TSD50oeYXnkrX1nQ38N9zljP1FRdP42yPhJOrEKg.png的形式存储在数据库中
如果我删除公共路径并执行此操作
我可以在storage/public/avatar文件夹中看到vue组件中显示的图像
方法获取单个用户的详细信息
public function user($id){
return $user = User::find($id);
}
保存图像的方法
public function profilePic(Request $request){
$this->validate($request,[
'image'=>'required|mimes:jpeg,jpg,png'
]);
$image = $request->image->store('public/avatar');
$authUser = auth()->user()->id;
$user = User::where('id',$authUser)->update([
'profilePic'=> $image
]);
return redirect()->back();
}
vue:
轮廓组件
{{user.profilePic}
//如何在这里显示图像
提交
导出默认值{
道具:['userid'],
数据(){
返回{
图像:“”,
用户:[]
}
},
安装的(){
this.getUser()
console.log('组件已安装')
},
方法:{
onImageChange(e){
控制台日志(e)
this.image=e.target.files[0];
},
updateProfilePic(){
常量配置={
标题:{
“内容类型”:“多部分/表单数据”
}
}
设formData=new formData();
formData.append('image',this.image);
post('/profile pic',formData,config)。然后((响应)=>{
这个.image='';
this.getUser()
}).catch((错误)=>{
console.log(错误)
this.allerrors=error.response.data.errors
})
},
getUser(){
获取('/user/'+this.userid)。然后((响应)=>{
this.user=response.data
}).catch((错误)=>{
警报(“某些错误”)
})
},
}
}
很可能您没有设置存储和公用文件夹之间的符号链接。
尝试运行以下命令:php-artisan-storage:link
您可以在此处了解更多信息:很可能您没有设置存储和公用文件夹之间的符号链接。
尝试运行以下命令:php-artisan-storage:link
您可以在此处了解更多信息:您可以这样显示图像
您可以这样显示图像
要从web访问这些文件,您应该创建一个从public/storage
到storage/app/public
的符号链接。
要创建符号链接,请运行以下命令:
php artisan storage:link
然后在vue组件中:
<img :src="'/storage/images'+filename" width="100">
但是如果你有一个类别数组,每个类别都有一个图像
<img v-for="category in categories" :key="category.id" :src="'/storage/' + category.image" alt="" />
category.image
equalimages/scjdpeus12vvvjhouhtwxq12bbghzboimdiumunpx.jpg
要从web访问这些文件,您应该创建一个从public/storage
到storage/app/public
的符号链接。
要创建符号链接,请运行以下命令:
php artisan storage:link
然后在vue组件中:
<img :src="'/storage/images'+filename" width="100">
但是如果你有一个类别数组,每个类别都有一个图像
<img v-for="category in categories" :key="category.id" :src="'/storage/' + category.image" alt="" />
category.image
equalimages/scjdpeus12vvvjhouhtwxq12bbghzboimdiumunpx.jpg
您的图像直接位于哪个文件夹?您的默认存储驱动程序是什么?Hi图像位于storage/public/avatar/filename.png中,您的图像直接位于哪个文件夹中?您的默认存储驱动程序是什么?Hi图像位于storage/public/avatar/filename.png这对我不起作用图像路径是public/avatar/filename.jpg这是否显示错误?这对我不起作用图像路径是public/avatar/filename.jpg这是否显示错误?