对于C#的azure blob存储sdk,有多种下载/上传blob的方法。
下载方法:DownloadText
,DownloadToByteArray
,DownloadToStream
,DownloadToFile
。
上传方法:UploadText
,UploadFromByteArray
,UploadFromStream
,UploadFromFile
。
如何选择这些方法?例如下载/上传过程中文件很大时,某些方法会导致编码问题等吗?
谢谢。
答案 0 :(得分:0)
您根据拥有或想要的东西进行选择;这些都是为了让您的生活更轻松。
如果您有/想要一个文件,请使用File方法(这样就不必将文件读入字节数组或在上传之前附加流,也可以从Blob下载文件到您的服务器)
如果您有/想要一个流,请使用流方法(想象您想将blob数据发送到客户端,通过tcp套接字发送-将其写入服务器上的文件然后读取该文件并将其发送就毫无意义到客户端,您应该只从Blob中打开一个流,然后从中读取并写入到客户端的rxpnsocket。这样可以最大限度地减少服务器资源的使用)
如果您有/想要一个数组,请使用数组方法(也许您想以某种方式在内存中对其进行处理)
有关更多信息,请参见文档https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.storage.blob.cloudblockblob?view=azure-dotnet