2012-09-16 40 views
0

我有一个Azure Web角色和一台单独的计算机。他们都在同一个网络上,并且都共享其他人可以访问的某些文件夹。如果我通过远程桌面继续使用我的Azure Web角色,则可以使用\\comp1\folder在其中添加/删除/编辑文件,然后转到其他计算机的共享文件夹。将文件从我的Azure Web角色复制到另一台计算机

我有几个图像文件在我的网络角色,我需要复制到单独的计算机。 这些图像被上传到网络角色并存储在那里。

如何将那些在网络角色上的图像复制到我的其他计算机上?

我试过使用File.Copy但它总是给我访问被拒绝错误。

我试图做:

File.Copy(Server.MapPath("~/image/a.jpg"),@"\\comp1\folder\b.jpg"); 

结果:UnauthorizedAccessException

回答

1

我不认为你可以访问文件系统在Azure上那样,除了通过本地存储?

引述Bill Wilder

任何在运行您的代码是(a)ASP.NET(如Default.aspx的或 default.aspx.cs)或(b)WebRole.cs/WorkerRole。 cs(例如,从RoleEntryPoint 类派生的方法 OnStartup,OnRun和OnStop)将不具有写入文件系统的权限。

您可以read and write to the Local Storage system

try 
    { 
     LocalResource myConfigsStorage = RoleEnvironment.GetLocalResource("myConfigs"); 
     string s = System.IO.File.ReadAllText(myConfigStorage.RootPath + "myFile.txt"); 
     //... do your work with s 
    } 
    catch (Exception myException) 
    { 
     ... } 

不过话说总是使用Azure的一个以上的例子中,我从未见过对本地存储的需求和使用团块存储来代替。

了解更多:http://www.intertech.com/Blog/Post/Windows-Azure-Local-File-Storage-How-To-Guide-and-Warnings.aspx#ixzz26ce8rXpk

+0

如果我使用Azure blob,该怎么办?我可以成功地将我的文件写入blob(并可以确认它在那里),但是如何在另一台机器上读取它? – master2080

+0

这完全是另一个问题。一种选择是Machine1写入blob存储并使用写入记录更新数据库。 Machine2查看数据库,查看写入记录并请求blob。 –

+0

我的问题是如何读取'Machine2'上的blob,因为它没有天蓝色的项目。 – master2080

相关问题