如何将Google Coto Stoage作为文件提供者链接到ASP.NET Core 2.2项目?

时间:2019-01-15 17:04:08

标签: c# asp.net-core asp.net-core-mvc google-cloud-storage asp.net-core-2.2

我有一个使用MVC架构在ASP.NET Core 2.2框架顶部使用C#编写的项目。

该项目包含很多图像(价值150GB),这导致我的VPS空间不足。

我决定订阅Google Cloud Storage,以允许将图像托管在与VPS不同的服务上。这样一来,我可以在其他地方托管映像的同时释放VPS。另外,这最多每月将花费我不到10美元,这比升级我的VPS便宜得多。

但是,我不确定如何将Google Cloud Storage帐户与我的应用程序集成在一起,以便在托管在Google Cloud Storage上时图像仍然显示相同的URL

当前,我正在使用PhysicalFileProvider来将以mydomain.com/photos开头的任何链接指向VPS上不同的物理路径(即c:/photos

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider("c:\\photos"),
    RequestPath = "/photos"
});

如何在我的Asp.net Core 2.2项目中将Google Cloud Storage添加为文件提供者?

1 个答案:

答案 0 :(得分:0)

我认为目前不存在任何东西(由Microsoft或第三方提供)。

您可以尝试使用带有Google Cloud Storage SDK包的NuGet上可用的Google.Cloud.Storage.V1创建IFileProvider的实现。

此外,我建议您看看IFileProvider的自定义实现,该实现使用Azure blob存储作为灵感。您可以阅读博客here,并在filipw/Strathweb.AspNetCore.AzureBlobFileProvider存储库中查看GitHub上的代码。