我用stream上传文件到Azure blob中
byte[] buff = System.IO.File.ReadAllBytes(open.FileName);
System.IO.MemoryStream ms = new System.IO.MemoryStream(buff);
当上传后,我的blob确实空的,我想知道是怎么回事。
我用stream上传文件到Azure blob中
byte[] buff = System.IO.File.ReadAllBytes(open.FileName);
System.IO.MemoryStream ms = new System.IO.MemoryStream(buff);
当上传后,我的blob确实空的,我想知道是怎么回事。
Hi,
会不会是你在上传的时候ms.Position的位置位于文件的末尾,请尝试设置ms.Position=0,关于上传文件到Azure blob你可以参考下面的代码。
StorageCredentials creds = new StorageCredentials(
ConfigurationManager.AppSettings["accountName"],
ConfigurationManager.AppSettings["accountKey"]
);
CloudStorageAccount account = new CloudStorageAccount(creds, useHttps: true);
CloudBlobClient client = account.CreateCloudBlobClient();
CloudBlobContainer contain = client.GetContainerReference("your container name");
contain.CreateIfNotExists();
CloudBlockBlob blob = contain.GetBlockBlobReference("your blob name");
using (var stream = System.IO.File.OpenRead("your file"))
blob.UploadFromStream(stream);
关于更多与Azure blob的操作,请阅读http://www.windowsazure.cn/zh-cn/documentation/articles/storage-dotnet-how-to-use-blobs/
Best Regards,
Jambor