asp.net-mvc - 当托管在 Azure 网站中时,除了 App_Data 之外,asp MVC 网站中的哪个文件夹可以访问来存储和检索文件?

标签 asp.net-mvc azure azure-web-app-service blobstorage

我刚刚完成了我的 asp MVC 5 网站,该网站具有上传、显示和下载文件的功能。离线时,我将文件上传到根目录内的随机文件夹,如 ~/assest/images 等,效果很好。

然后我部署到 Windows Azure 网站服务,并开始意识到根目录不再可访问。我开始做研究,发现只有App_Data可以访问存储文件。唉,这不是一个好的解决方案,我们无法检索要在 Razor View 中显示的文件(例如图像)。

我还发现了BLOB Storage,这似乎很棒,但是没有足够的教程,我无法成功使用它。其中大多数用于 MVC Web 角色,而在我的例子中,它是 MVC WEB SITES。

现在,我想找到另一种选择,是否有任何特殊的文件夹或解决方法可以在根目录中折叠一个文件夹来存储文件并检索它们?事实上,我的应用程序只需要存储一些图片和 PDF。

谢谢

最佳答案

您不应使用 App_Data 来存储通过 Azure 网站上传的文件。您只能获得有限的空间,如果您将网站扩展到更多实例,则上传的文件将仅在上传文件的实例上可用!

处理上传文件的正确方法确实是使用Blob存储。您可以从您的网站轻松使用它。只需安装 Azure .NET 存储客户端库(这是 available from Nuget )。

有关于使用 Azure .NET 存储客户端库的完整教程:http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

通过公开 blob 容器,您可以轻松地在您的网站上显示上传的图像。然后,您可以直接链接到 blob 容器中的图像 - 它将具有如下 URL:

https:// your storage account name .blob.core.windows.net/ your blob container name /filename.jpg

关于asp.net-mvc - 当托管在 Azure 网站中时,除了 App_Data 之外,asp MVC 网站中的哪个文件夹可以访问来存储和检索文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527445/

相关文章:

asp.net-mvc - 调用 mvc Controller 方法和 WCF WEB API Rest 服务调用有什么区别?

c# - 在 ASP.Net MVC 中维护查询字符串

azure - AppInsights - 监控挂起的进程

c# - 依赖注入(inject)有什么大的改进?

asp.net-mvc - MVC3 服务层验证。返回异常、自定义对象、模型状态字典?

azure - 无法使用 SSH 配置部署 Azure VM

azure - 如何将 Azure Frontdoor 与 gRPC 结合使用?

Azure 应用服务绑定(bind)通配符子域

asp.net-mvc - 如何更改 Windows Azure 网站 (asp.net mvc4) 上的验证语言?

asp.net-mvc - Azure Web App VSTS 预编译 View (不可更新)