2012-05-25 125 views
0

我下面的场景....我试图从一个网站下载一个文件的凭据,并将其存储在Azure的Blob存储。天青 - Blob存储

为此,我已经创建了一个应用程序。使用凭据我可以访问文件并下载文件。

为此,我已经使用Web客户端。

NetworkCredential credentials = new NetworkCredential(userName, password); 
CredentialCache cCache = new CredentialCache(); 
cCache.Add(new Uri(fileURL), "Basic", credentials); 

WebClient wClient = new WebClient(); 
wClient.Credentials = cCache; 
wClient.DownloadFile(fileUrl, fileName); 

使用上面的代码,我能够将文件下载到云计算机上。但我想将它存储在Blob存储容器中。

如何做到这一点?

THX

回答

1

WebClient.DownloadFile将该文件下载到在所述第二参数指定的路径。在你的情况下,我想建议你使用DownloadData方法,它返回一个字节数组。然后,您可以使用CloudBlob.UploadByteArray将字节数组上传到blob:http://msdn.microsoft.com/en-us/library/windowsazure/microsoft.windowsazure.storageclient.cloudblob.uploadbytearray

最好的问候,

Ming Xu。

+0

如果我们需要流式传输大文件会怎么样? – Icerman

+0

此链接不起作用。你有更新的链接?谢谢。 – Apollo

0

MSDN搜索 “C#.net上传文件到Azure存储”

azure upload

你可以得到你的文件到一个流?

BlobUploadStream

WebClientToStream

+0

谢谢你的回复。我也看到了这个artcile。但是如果你看到上传的例子,路径是硬编码的。在我的情况下,我的应用程序运行在云端,我不知道文件下载到的位置。如果我知道路径,下载它之后,我可以上传它。我正在寻找将直接将文件写入Azure BLOB存储的解决方案。 – user1418168