C# VHD驱动器的服务器路径
我想获取VHD驱动器的服务器路径。我正在开发azure web应用程序。我上传了一些文件,并将其保存到Test.VHD驱动器(例如)。这是一些blob容器“驱动器”(例如)中的云驱动器。我通过以下方式安装并映射它:C# VHD驱动器的服务器路径,c#,azure-storage,C#,Azure Storage,我想获取VHD驱动器的服务器路径。我正在开发azure web应用程序。我上传了一些文件,并将其保存到Test.VHD驱动器(例如)。这是一些blob容器“驱动器”(例如)中的云驱动器。我通过以下方式安装并映射它: driveLetter = drive.Mount(localCache.MaximumSizeInMegabytes - 20, DriveMountOptions.Force); “driveLetter”是“A:\”(比如说)。现在,我将所有pdf文件名显示为页面上的链接按钮
driveLetter = drive.Mount(localCache.MaximumSizeInMegabytes - 20, DriveMountOptions.Force);
“driveLetter”是“A:\”(比如说)。现在,我将所有pdf文件名显示为页面上的链接按钮。单击这些文件后,我想使用javascript函数在浏览器中打开该pdf文件
window.open(pdfPath, pdfName, 'scrollbars=yes, resizable=yes');
我的问题是作为“pdfPath”参数必须传递什么?
我有路径“A:\Uploads\pdfName.pdf”。但我不能通过。我必须像这样传递它,以便用户可以查看它
但我不知道如何将其转换为类似的链接。通过这样做,我可以在浏览器中查看pdf
请帮帮我
提前谢谢。这里有点混乱 azure驱动器在技术上是存储在azure blob存储中的blob,因此它有一个URL。相反,Azure驱动器的内容不能通过URL直接访问。如果要公开Azure驱动器中包含的文件,必须使其可从windows Azure实例访问 您可以通过在装载驱动器时将Azure驱动器映射为IIS中的虚拟文件夹来完成此操作。如果您在.Net中编写代码,请查看System.Web.Administration(您必须将其包含在项目中,它是IIS的一部分,而不是直接包含在CLR中)。如果使用其他语言编写代码,最简单的方法是调用appcmd.exe来定义虚拟文件夹
皮埃尔我知道这并不能直接回答你的问题,但是。。。我认为,通过向Azure驱动器写入内容,您将看到一些限制:
- 在任何给定时间,只有一个角色实例可以对vhd进行写访问。这意味着您的解决方案可以扩展到一个实例之外,除非每个实例都有唯一的vhd(或者每个add'l实例只是创建一个只读快照)
- 现在,您必须通过角色实例访问各个文件,因为您无法提供指向vhd内部文件和外部世界的直接链接
- 要管理任何文件,必须安装Azure驱动器。这意味着您无法从Windows Azure之外的代码管理任何文件(Azure驱动器仅可由Windows Azure角色实例装载)
- 任何实例都可以读/写每个单独的文件(每个文件位于单独的blob中)
- 您可以选择在网页中嵌入直接文件url。这提供了对blob的直接访问,而无需通过您的角色实例之一进行路由(由于不需要IIS,这反过来会减轻所述实例的负载)
- 您可以选择将单个blob设置为私有,并且仍然通过共享访问签名向私有blob提供url
- 您可以远程管理单个blob,并且有多个第三方工具可帮助您做到这一点
- 如果愿意,可以为存储启用CDN(边缘缓存),这样可以将URL指向CDN链接,而不是直接指向源blob。这仅限于面向公众的斑点