我正在使用Azure存储模拟器4.1.0.0和VS 2013。
如何从开发框上传文件并指定Azure存储上的分层路径?
我正在本地开发VS 2013 & Azure存储模拟器4.1.0.0。我想上传一个文件,但指定Blob的分层路径到该文件。
const string ImageToUpload = @"C:\Users\Me\Documents\Visual Studio 2013\Projects\AzureCloudService1\DataBlobStorage1\HelloWorld2.png";
CloudBlockBlob blockBlob = container.GetBlockBlobReference(ImageToUpload);
await blockBlob.UploadFromFileAsync(ImageToUpload, FileMode.Open).ConfigureAwait(configureawait);这段代码确实上传了文件,但最终存储了源文件的物理路径。如何指定Azure Blob存储所需的分层路径?
谢谢!
发布于 2015-09-01 22:07:15
啊..。GetBlockBlobReference是用来设置blob名称的,它可以按需要命名。实际文件可以从其他物理位置读取到fileStream中并上传到blob中,如下所示:
string fileName = HttpContext.Current.Server.MapPath("~/App_Data/Clients/Clientname/" + "HelloWorld.png");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(@"Clients\ClientName");
using (var fileStream = File.OpenRead(fileName))
{
await blockBlob.UploadFromStreamAsync(fileStream);
}发布于 2015-09-01 02:33:43
假设您希望路径成为容器中的AzureCloudService1\DataBlobStorage1\HelloWorld2.png,您必须这样做:
CloudBlockBlob blockBlob = container.GetBlockBlobReference("AzureCloudService1/DataBlobStorage1/HelloWorld2.png");https://stackoverflow.com/questions/32321623
复制相似问题