我有一个使用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添加为文件提供者?
答案 0 :(得分:0)
我认为目前不存在任何东西(由Microsoft或第三方提供)。
您可以尝试使用带有Google Cloud Storage SDK包的NuGet上可用的Google.Cloud.Storage.V1
创建IFileProvider
的实现。
此外,我建议您看看IFileProvider
的自定义实现,该实现使用Azure blob存储作为灵感。您可以阅读博客here,并在filipw/Strathweb.AspNetCore.AzureBlobFileProvider
存储库中查看GitHub上的代码。