如何使用vuejs从SPA / storage -laravel-访问图像

问题描述 投票:1回答:3

如果我把图像放在“storage / app / public / img / logo.png”中并执行:

$ php artisan storage:link

我如何在vue组件中获得logo.png?

<img src="storage/app/public/img/logo.png">

要求它没关系(200),但该图像无法渲染,因为是SPA。

谢谢,

laravel vue.js single-page-application
3个回答
2
投票

使用storage:link命令时,可以在storage/app/public文件夹和public/storage文件夹之间创建符号链接。

所以现在你可以在网址$BASE_URL/storage/img/logo.png找到你的文件。

我建议您在刀片模板中使用asset辅助函数:

<img src="{{ asset('storage/img/logo.png' }}">

注意:请务必在文件夹上设置正确的文件权限,否则在尝试访问时会出现Unauthorized错误。


1
投票

当你使用php artisan storage:link时,你正在创建一个从public/storagestorage/app/public的符号链接

我习惯使用asset而不是常规路径:尝试使用src="{{ asset('storage/app/public/img/logo.png') }}

假设您使用SPA,当组件呈现时,它将发出新请求以获取img


0
投票

好了,之后做:

$ php artisan storage:link

在我使用的组件中:

<img :src="'../storage/img/logo.png'">

谢谢,

© www.soinside.com 2019 - 2024. All rights reserved.