gpt4 book ai didi

php - Laravel 5.3 本地存储路径

转载 作者:行者123 更新时间:2023-12-02 09:21:38 24 4
gpt4 key购买 nike

我有带有本地文件系统的 Laravel 5.3。我的 .env 中的 APP_URL 是:

http://localhost/myapp

我将存储链接到公共(public)

php artisan storage:link

我有一张图片:

myapp/storage/app/public/defaults/test/file.png

在数据库中,路径保存如下:

public/defaults/test/file.png

所以在我的blade.php中我尝试访问图像

<img src="{{ Storage::url($user->test)}}" width="" alt="">

但是图像没有显示,图像的 URL 是:

http://localhost/storage/defaults/test/file.png

那么为什么它忽略 app_url 呢?即使我将链接更改为:

http://localhost/myapp/storage/defaults/test/file.png

图像未显示。

如何使用 Storage::url 访问 myapp/storage/app/public/defaults/test/file.png 中的图像?

BR

最佳答案

如果您想访问存储文件夹中的文件,您需要为该链接创建路由

Route::get('storage/defaults/test/{filename}', function ($filename)
{
$imagePath = storage_path() . '/defaults/test/' . $filename;

if(!File::exists($imagePath)) {
//Not have file do something here
};

$file = File::get($imagePath);
$type = File::mimeType($path);

$response = Response::make($file, 200);
$response->header("Content-Type", $type);

return $response;
});

现在您可以通过链接访问

您还有另一种方法,例如将图像保存在[您的项目]/public/images/中,这样您就可以通过 http://localhost/images/file.png 访问您的图像(无需创建路由)

但我建议您在服务器示例/data/images 中创建一个新文件夹并在 apache 中设置虚拟主机以允许路径

Alias /images /var/www/data/images

<Directory /var/www/data/images>
IndexOptions FancyIndexing FoldersFirst
Options MultiViews Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

希望这有帮助

关于php - Laravel 5.3 本地存储路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42148729/

24 4 0
文章推荐: VinyL 无限打印列表中的值
文章推荐: java - 如何使用jdk8对ArrayList进行分组和过滤