我必须将上传的图像保存在光盘上,但首先必须验证图像是否没有宽度或高度小于50‘t。正如我所知道的,当我们使用流时,我们必须处理这个流,所以我在验证方法中使用了‘use’:
public bool CheckDimensions(HttpPostedFile file)
{
using (Stream stream = file.InputStream)
{
System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
if (image.PhysicalDimension.Width < 50 || image.PhysicalDimension.Height < 50)
{
return false;
}
return true;
}
}但是,我无法在第二个方法中保存图像,因为HttpPostedFile文件的HttpPostedFile是0。当我不使用'using‘语句时,HttpPostedFile的HttpPostedFile是正确的(> 0)。既然如此我就不应该处理流了?
发布于 2014-07-03 11:54:31
因为file.InputStream是对上传文件的引用。用using语句处理它意味着它在任何地方也被引用/使用
试一试
using(Stream stream = file.InputStream)
{
bool isRightSize = CheckDimensions(stream);
... other operations on the stream
}
public bool CheckDimensions(Stream stream)
{
System.Drawing.Image image = System.Drawing.Image.FromStream(stream);
if (image.PhysicalDimension.Width < 50 || image.PhysicalDimension.Height < 50)
{
return false;
}
return true;
}https://stackoverflow.com/questions/24552779
复制相似问题