响应后将图像文件保存在服务器中

时间:2014-02-09 12:26:10

标签: c# asp.net

我的asp.net应用程序保存了很长的图像文件列表然后 必须查看其中一个。 客户端可以浏览图像, 但它需要很长时间。 我有一个字典,其中包含密钥 - 文件路径和值-Image:

Dictionary<string, System.Drawing.Image> imageList = new Dictionary<string,System.Drawing.Image>(); 

//filling imageList 
foreach (KeyValuePair<imagePath, System.Drawing.Image> item in imageList)
{
    item.Value.Save(item.Key, System.Drawing.Imaging.ImageFormat.Jpeg);
}

我正在寻找保存一个图像文件的方法, 做出响应,并继续保存其他图像文件, 有办法吗? 也许与线程? 谢谢!

2 个答案:

答案 0 :(得分:0)

磁盘IO可能非常慢,但您可以试试这个

foreach (KeyValuePair<string, System.Drawing.Image> item in imageList)
    Task.Factory.StartNew(() =>
    {
        lock (item.Value)
            item.Value.Save(item.Key, System.Drawing.Imaging.ImageFormat.Jpeg);

    });

答案 1 :(得分:0)

我将图像保存在线程块中,它可以完美而快速地工作:

Dictionary<string, System.Drawing.Image> imageList = new Dictionary<string,System.Drawing.Image>(); 

//filling imageList

Thread thread = new Thread(() =>
{
   foreach (KeyValuePair<string, System.Drawing.Image> image in imageList)
    {
       image.Value.Save(item.Key, System.Drawing.Imaging.ImageFormat.Jpeg);
    }
});
thread.Start();