我想获得VHD驱动器的服务器路径。我正在研究azure web应用程序。我上传了一些文件并将其保存到Test.VHD驱动器(比如说)。这是一个blob容器内的云驱动器“驱动器”(比方说)。我通过以下方式安装并映射它:
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”。但我无法通过它。我必须像http://servername:port/path一样传递它,以便用户可以查看它。
但我不知道如何将其转换为http://servername:port/path之类的链接。通过这样做,我可以在浏览器中查看pdf。
请帮助我,
提前致谢。
答案 0 :(得分:0)
那里有一点混乱。
天蓝色驱动器在技术上是存储在Azure Blob存储中的blob,因此它具有URL。相反,使用URL无法直接访问Azure驱动器的CONTENTS。如果要公开Azure驱动器中包含的文件,则必须从Windows Azure实例访问它们。
您可以通过在装入驱动器时将Azure驱动器映射为IIS中的虚拟文件夹来执行此操作。如果您在.Net中编码,请查看System.Web.Administration(您必须将它包含在您的项目中,它是IIS的一部分,而不是直接在CLR中)。如果您使用其他语言编写代码,最简单的方法是调用appcmd.exe来定义虚拟文件夹。
皮尔
答案 1 :(得分:0)
我意识到这并没有直接回答你的问题,但是......我认为你会通过写入Azure Drives看到你正在做的事情有一些限制:
我建议将单个文件写入单个blob。与在您的方案中使用Azure驱动器相比,这有几个优点: