将大文件上传到Azure文件共享

时间:2020-06-07 16:17:11

标签: c# azure file-upload fileshare

我可以使用以下代码将小文件上传到文件共享,但是大文件没有被传输。有blob.PutBlock这样的方法可以将文件上传到Blob,但找不到任何文件共享。请您指导一下?

        StorageCredentials cred = new StorageCredentials("SASToken");
        CloudFileClient fClient = new CloudFileClient(new Uri(FileShareUrl)), cred);
        CloudFileShare fshare = fileClient.GetShareReference("FileShareName");
        CloudFileDirectory root = share.GetRootDirectoryReference();
        CloudFileDirectory dir = root.GetDirectoryReference("Folder/subfolder");
        var cloudFile = dir.GetFileReference(fileName);
        await cloudFile.UploadFromStreamAsync(incommingBlob).ConfigureAwait(false);

1 个答案:

答案 0 :(得分:1)

您应该使用DataMovement library将文件从Blob存储直接复制到目标文件共享,而不是通过Azure函数流式传输大文件。

TransferManager类具有与copy files from blob to file share相对应的CopyAsync方法。

这里有some samples可以让您开始使用该库,您只需要将其调整为文件共享而不是blob。