我对这个Windows Azure Blob存储有点困惑。
我有一个接收文件路径(本地)的控制器。
所以在网页上我做了一件事:
的http:...文件路径= C:/temp/myfile.txt
在Web服务上,我想获取此文件并将其放在blob服务上。当我在本地启动时没有问题,但是当我发布它时,无法获取文件。我总是得到: 遇到错误:无法找到路径'C:/temp/myfile.txt'的一部分。
有人能帮助我吗?有解决方案吗?
答案 0 :(得分:1)
首先我会说要获得适当的帮助,您需要提供有关您的问题的更好的描述。你在“网络服务”上是什么意思?它是一个WCF Web角色,它似乎与您的部分问题描述相匹配。但是,如果添加,大多数网络服务都会使用http://whatever.cloudapp.net/whatever.svc以及http://whatever.cloudapp.net/whaterever.aspx?whatever。你有没有在你的应用程序中做过类似的事情。
您还在代码中提到了控制器,这使我认为它是基于MVC的Web角色应用程序。
我正在撰写以上信息,以帮助您下次更好地制定您的问题。
最后根据您提供的内容,您正在从本地文件系统(C:\ temp \ myfile.txt)读取文件并上传到Azure Blob。这将在计算机模拟器中运行,并且肯定会在Windows Azure中失败,因为:
在您的Web角色代码中,您将无权在C:\驱动器上进行写入,这就是为什么文件不存在而您会收到错误的原因。最好的办法是使用Azure Local Storage在其中编写任何内容,然后使用Local Storage读取文件,然后上传Azure Blob。 Azure本地存储旨在从Web角色中写入任何内容(您将具有写入权限)。
最后,我对您的应用程序设计也很担心,因为Azure VM没有持久化,因此有一个解决方案可以写入VM中的任何位置并不好,您可能需要直接写入Azure存储而不使用系统内存,如果是可能无论如何。
答案 1 :(得分:0)
您是否验证Azure服务器上是否存在该文件?