如何在流明中使用 azure blob?

Posted

技术标签:

【中文标题】如何在流明中使用 azure blob?【英文标题】:How to use azure blob in lumen? 【发布时间】:2019-10-09 14:18:18 【问题描述】:

我需要使用 azure blob 存储,但问题是我找不到任何参考或教程来在 Lumen 中应用 azure blob 存储。

我只在 laravel 中找到 azure blob。 这是我发现的,

https://matthewdaly.co.uk/blog/2016/10/24/creating-an-azure-storage-adapter-for-laravel/

我不知道怎么把代码放到config/filesystem.php,我在Lumen Framework中找不到。

你愿意给我一些参考吗? 任何帮助将不胜感激。

谢谢

【问题讨论】:

【参考方案1】:

基于我的research,默认情况下 lumen 不支持 laravel 文件系统。为了集成到 lumen,您可以按照这些说明进行操作

作曲家需要联盟/飞行系统 从 Laravel 复制文件系统配置文件 ( https://github.com/laravel/laravel/blob/master/config/filesystems.php ) 到本地 Lumen 安装文件_root/config

将文件系统绑定到 IoC,例如在 document_root/bootstrap/app.php 通过添加以下代码行:

$app->singleton('filesystem', function ($app) return $app->loadComponent('filesystems', 'Illuminate\Filesystem\FilesystemServiceProvider', 'filesystem'); );

然后你就可以通过调用 app('filesystem') 来访问filesystem 并像在 Laravel 中一样使用它。

请参考另一个案例:https://github.com/laravel/lumen-framework/issues/168

尝试模拟这个github source code添加磁盘配置:

 'azure' => [
            'driver'    => 'azure',
            'name'      => env('AZURE_STORAGE_NAME'),
            'key'       => env('AZURE_STORAGE_KEY'),
            'container' => env('AZURE_STORAGE_CONTAINER'),
 ],

另外,我发现了一个名为league/flysystem-azure-blob-storage的包,你可以试试替换league/flysystem

【讨论】:

嗨,什么是 IoC? @JoshParinussa 感谢您的采纳,请参考这篇关于 IOC 的博客 php:medium.com/@NahidulHasan/…

以上是关于如何在流明中使用 azure blob?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 中的 Azure.Storage.Blobs 从 Azure 存储 Blob 以 ByteArray 格式获取文件

如何使用 .NET v12 SDK 在 Azure Blob 存储中上传具有指定 ContentType 的 Blob?

如何备份 Azure 表和 Blob

如何在 MS Azure 中为我的 blob 存储中的 blob 提取上次修改日期

我们如何使用代理和 NodeJS 从 azure 存储下载 blob?

如何在 azure 中上传文件后获取 blob-URL