无法保存图像对象

image object couldn't be saved

我尝试获取 wordcloud 图像,所以我使用了两个列表词和频率,我得到了 wordcloud 但我使用 MVC C#,实际上我不知道如何发送这个控制器来查看,所以我决定保存图像对象作为 jpeg 文件,但保存函数出现错误 System.Runtime.InteropServices.ExternalException 一般错误。这是我的代码: 首先我通过 Twitter 获取趋势,并将它们存储为具有 29 个值的单词列表,其次我制作一个具有 29 个值的列表:

        var trends = Trends.GetTrendsAt(1);
        List<string> words = new List<string>();
        List<int> frequencies = new List<int>();
        foreach(var trend in trends.Trends)
        {
         if (g < 30)
         {
           words.Add(trend.Name);
           g++;
         }

        }
        for(int i = 29 ; i >= 1; i--)
        {
         frequencies.Add(i);   
        }


        var wc = new WordCloudGen(1000, 600);
        Bitmap y = new Bitmap(wc.Draw(words, frequencies));
        myImageCodecInfo = GetEncoderInfo("image/jpeg");
        myEncoder = Encoder.Quality;
        myEncoderParameters = new EncoderParameters(1);
        myEncoderParameter = new EncoderParameter(myEncoder, 50L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        y.Save("wordcloud.jpg", myImageCodecInfo, myEncoderParameters);

wc.Draw(words.frequencies) 实际上转换图像对象,我尝试将它转换为位图,所以我认为我可以毫无问题地将它保存为 jpeg 文件。

我是工程新手,所以我真的很困惑,我需要你的帮助,谢谢。

可能是您在尝试将文件保存到当前目录时遇到了文件夹权限问题。您可以尝试使用

之类的内容指定文件的完整路径
y.Save(Server.MapPath("~/App_Data/wordcloud.jpg"), myImageCodecInfo, myEncoderParameters);

看看它是否有效