【发布时间】:2015-12-09 15:55:25
【问题描述】:
我有一个“ASP.NET”控制台应用程序,并为 Dropbox 使用“RestSharp”客户端。
我使用此代码下载文件:
var baseUrl = "https://content.dropboxapi.com";
var client = new RestClient(baseUrl);
client.Authenticator = OAuth1Authenticator.ForRequestToken(mc_apiKey, mc_appsecret);
RestRequest request = new RestRequest(string.Format("/{0}/files/auto", mc_version), Method.GET);
client.Authenticator = OAuth1Authenticator.ForProtectedResource(mc_apiKey, mc_appsecret, accessToken.Token, accessToken.Secret);
request.AddParameter("path", path);
var responseAccount = client.Execute(request);
var fileString = responseAccount.Content;
byte[] b1 = System.Text.Encoding.UTF8.GetBytes (fileString);
当调用client.Execute(request)时,整个文件被加载到内存中,所以当我在 Dropbox 中有一个非常大的文件时,程序会崩溃。
我需要让文件流式传输而不使用client.DownloadData(request).SaveAs(path) 下载到本地存储。
我需要能够分块流式传输文件。
【问题讨论】:
标签: c# dropbox dropbox-api restsharp