提问者:小点点

C#Azure将文件上传到"文件存储服务"-而不是Blob存储


我有一个要求上传文件到Azure文件存储服务C#,(不是Blob存储),我搜索了很多,但我没有找到如何,只找到如何做Blob存储的信息,它似乎不支持或我正在搜索坏。

我可以一直到这里,但是没有像blob中那样的UploadFromStream()方法

FileInfo file = new FileInfo(@"C:\...\file.txt");
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
CloudFileShare share = fileClient.GetShareReference(ConfigurationManager.AppSettings["ShareReference"]);
CloudFileDirectory root = share.GetRootDirectoryReference();
CloudFileDirectory dir = root.GetDirectoryReference("TESTDIR");

using (FileStream fs = file.OpenRead())
{
    // what should I do here
}

可以像这样上传文件吗<在这种情况下,我遗漏了什么?


共1个答案

匿名用户

您需要首先创建一个CloudFile实例,以从CloudFileDirectory实例创建该文件。一旦你有了参考,你可以通过多种方式上传它,包括CloudFile。UploadFromStream()方法。

FileInfo file = new FileInfo(@"C:\...\file.txt");
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
CloudFileShare share = fileClient.GetShareReference(ConfigurationManager.AppSettings["ShareReference"]);
CloudFileDirectory root = share.GetRootDirectoryReference();
CloudFileDirectory dir = root.GetDirectoryReference("TESTDIR");

var cloudFile = dir.GetFileReference("myfile.txt");

using (FileStream fs = file.OpenRead())
{
    cloudFile.UploadFromStream(fs);
}