将图像URL转换为Image会引发ArgumentException

时间:2017-10-12 03:12:12

标签: c# winforms

我正在编写一个程序来从现有的URL中检索图像。这是我的功能。

public static Image GetImageFromURL(string url)
{
    try
    {
        WebClient client = new WebClient();
        if (url.Contains("url("))
        {
            url = url.Replace("url(\"", "");
            url = url.Replace("\")", "");
        }
        var tmp = client.DownloadData(url);

        return Image.FromStream(new MemoryStream(tmp));
    }
    catch (Exception e)
    {
        return null;
    }
}

通常,此功能适用于所有图像,无论文件扩展名如何。在大多数情况下," tmp"变量大约为100000或200000字节。但是,有一种情况是图像(在解析为字节数组之后)包含635个字节。这导致抛出System.ArgumentException。异常消息是"参数无效"。它发生在调用Image.FromStream时。

有没有人遇到类似这样的问题?你能告诉我该怎么办?感谢。

安东尼

0 个答案:

没有答案