【发布时间】:2016-08-11 20:00:03
【问题描述】:
目标: - 将 asp.net 图像控件保存到服务器中的文件夹 使用此代码
File.WriteAllBytes(Server.MapPath(imgPath), imageData);
imageData 假设在字节数组中。
现在我在谷歌上搜索了很多关于如何将 Asp.net Image Control 转换为字节数组的内容,但仍然没有找到任何解决方案。 外面的很多例子展示了如何从 UploadFile 控件而不是从图像控件本身保存。
我发现的唯一最接近的就是这个
public static Byte[] ImageToByteArray(Image img)
{
try
{
MemoryStream mstImage = new MemoryStream();
img.Save(mstImage, System.Drawing.Imaging.ImageFormat.Jpeg);
Byte[] bytImage = mstImage.GetBuffer();
return bytImage;
}
catch (Exception ex)
{
}
}
但是我应该传递的正确参数是什么?我尝试传递 Image1.ImageUrl,但它返回错误。
非常感谢任何帮助。
【问题讨论】:
-
该方法需要一个
Image,所以通过Image1...但是要求没有什么意义。实际上,每次运行上述代码时,JPEG 伪影都会增加,因为您不必要地再次压缩已经从磁盘读取的图像。 Image 控件中显示的文件是从哪里来的,为什么不直接指向那个文件呢?为什么要将内存中的整个文件作为字节数组?
标签: c# asp.net image bytearray