2016-09-25 205 views
0

我试图让用户从用户谷歌驱动器中选择图像。我遵循这个文档: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; 

但所有我得到的是一个空的(白色)网页。有了我从谷歌获得的网址,我可以在浏览器中查看图片,但是我无法将其下载到我的代码中。

我该如何下载图片?

回答

0

使用,而不是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 
+0

同样的问题,我得到一个空白页时,我尝试下载从谷歌驱动器的图像。我可以从示例Facebook下载“公共”图像,但不能从谷歌驱动器下载。 – mrcode

+0

也许你的'token'是错误的。 –

相关问题