【发布时间】:2015-02-22 02:36:28
【问题描述】:
我使用框架字 4.0 的 Asp.Net MVC 4 我在控制器中使用此代码从远程服务器检索图像:
private List<Imagenes> Galeria(bool Remoto, string Directorio){
string path = string.Empty;
DirectoryInfo dir = null;
List<Imagenes> listImagenes = new List<Imagenes>();
path = Directorio;
dir = new DirectoryInfo(Directorio);
FileInfo[] fileList = dir.GetFiles("*.*", SearchOption.AllDirectories);
var fileQuery = from file in fileList
where ((file.Extension.ToUpper() == ".JPG") ||
(file.Extension.ToUpper() == ".PNG") ||
(file.Extension.ToUpper() == ".GIF") ||
(file.Extension.ToUpper() == ".JPEG"))
orderby file.Name
select file;
foreach (var file in fileQuery)
{
var b = System.IO.File.ReadAllBytes(path + file.Name);
listImagenes.Add(new Imagenes(Convert.ToBase64String(b)));
}
return listImagenes;
}
public class Imagenes
{
public string imagen { get; set; }
public Imagenes(string sImagen)
{
imagen = sImagen;
}
}
如果目录中的图像数量为 5,则此方法有效,如果它们超过 5,我会出现内存不足异常。 我该如何解决这个问题?如果在远程目录中我有超过 30 个图像
【问题讨论】:
-
哪一行导致异常?
-
@MikeG in var b = System.IO.File.ReadAllBytes(path + file.Name);
标签: c# asp.net-mvc asp.net-mvc-4 image-processing file-io