【发布时间】:2018-12-28 07:55:49
【问题描述】:
我正在尝试通过下载压缩格式的谷歌驱动器文件来提高我的应用程序的性能。我以此为参考。
https://developers.google.com/drive/api/v2/performance#gzip
我在发送的 HttpwebRequest 的标头中尝试了各种方法,但未能成功。任何人都可以在这方面帮助我。 这是我正在使用的代码。
public void DownloadFile(string url, string filename)
{
try
{
var tstart = DateTime.Now;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 60 * 1000; // Timeout
request.Headers.Add("Authorization", "Bearer" + " " + AuthenticationKey);
request.Headers.Add("Accept-Encoding", "gzip,deflate");
request.UserAgent = "MyApplication/11.14 (gzip)";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string content = response.GetResponseHeader("content-disposition");
Console.WriteLine(content);
System.IO.Stream received = response.GetResponseStream();
using (System.IO.FileStream file = new System.IO.FileStream(filename, System.IO.FileMode.Create, System.IO.FileAccess.Write))
{
received.CopyTo(file);
}
var tend = DateTime.Now;
Console.WriteLine("time taken to download '{0}' is {1} seconds", filename, (tend - tstart).TotalSeconds);
}
catch (WebException e)
{
Console.WriteLine("Exception thrown - {0}", e.Message);
}
}
【问题讨论】:
-
你的错误是什么?
-
@DalmTo 没有错误,但我希望这里有一个压缩文件而不是常规文件,希望能提高下载速度。正如您回答的那样,我猜文件数据没有被压缩。你知道将来是否会支持这样的东西吗?还有其他更好的方法来提高下载速度吗?
-
下载文件本身时不会。它的下载速度取决于您的连接、一天中的时间以及您设法连接到谷歌数据中心的服务器。
标签: c# google-drive-api user-agent system.net.httpwebrequest http-accept-encoding