WebClient.UploadValues()没有返回响应

时间:2012-05-09 23:52:18

标签: c# .net post webclient imgur

我正在尝试创建一个简单的Imgur应用程序,它将通过WebClient.UploadValues()调用将图像上传到他们的服务器。我在StackOverflow的其他地方找到了这段代码:

public static void PostToImgur(string ImageFilePath)
{
    using (var w = new WebClient())
    {
        var values = new NameValueCollection
        {
            { "key", API_KEY },
            { "image", Convert.ToBase64String(File.ReadAllBytes(ImageFilePath)) }
        };

        byte[] response = w.UploadValues("http://imgur.com/api/upload.xml", values);

        XDocument result = (XDocument.Load(new MemoryStream(response)));
    }
}

我在返回WebClient响应的行上插入了一个断点,但它似乎完全跳过它而不会抛出任何异常或任何异常。这不是我以前在Visual Studio中见过的任何东西,所以有些东西让我相信可能会发生一些奇怪的事情。

如果有帮助,我在OSX中的Windows 7虚拟机中运行它。有人想知道为什么会这样吗?

2 个答案:

答案 0 :(得分:2)

您可能想尝试

using (WebClient client = new WebClient())
{
     client.UseDefaultCredentials = true;
     ...
}

答案 1 :(得分:0)

发现问题,我使用OAuth令牌传递给Imgur,其中此方法用于使用匿名API上传。

获取匿名应用程序的新API密钥解决了这个问题。