从谷歌驱动器下载图片
问题描述:
我试图让用户从用户谷歌驱动器中选择图像。我遵循这个文档:https://developers.google.com/picker/docs/。 当我recive从谷歌图像URL(“/驱动器/ V2 /文件/” + FILEID)然后我尝试下载砖块图像中我的.NET代码:从谷歌驱动器下载图片
var WebRequest = (HttpWebRequest)System.Net.WebRequest.Create(url);
WebRequest.AllowWriteStreamBuffering = true;
WebRequest.Timeout = 30000;
WebRequest.KeepAlive = false;
WebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
WebRequest.AllowAutoRedirect = true;
WebRequest.Headers.Add("Authorization", "Bearer " + token);
byte[] Arr;
using (var WebResponse = WebRequest.GetResponse())
{
using (var Stream = WebResponse.GetResponseStream())
{
Arr = Stream.StreamToByteArray();
}
WebResponse.Close();
}
return Arr;
但所有我得到的是一个空的(白色)网页。有了我从谷歌获得的网址,我可以在浏览器中查看图片,但是我无法将其下载到我的代码中。
我该如何下载图片?
答
使用,而不是WebClient
:
client = new WebClient();
client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
client.Headers.Add("Authorization", "Bearer " + token);
client.AllowWriteStreamBuffering = true;
return client.DownloadData(url); /// DownloadData returns a byte array
同样的问题,我得到一个空白页时,我尝试下载从谷歌驱动器的图像。我可以从示例Facebook下载“公共”图像,但不能从谷歌驱动器下载。 – mrcode
也许你的'token'是错误的。 –