我有一个要求上传文件到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
}
可以像这样上传文件吗<在这种情况下,我遗漏了什么?
您需要首先创建一个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);
}