System.IO.Stream fs = Request.InputStream;
byte[] bt = new byte[fs.Length];
fs.Read(bt, 0, (int)fs.Length);
MemoryStream ms = new MemoryStream(bt);
System.Drawing.Image myImage = System.Drawing.Image.FromStream(ms,true);//这里报FromStream的参数无效
myImage.Save(ms, ImageFormat.Jpeg);
save_img(ms);这里的参数该如何写?
用fs替换ms一样的参数无效。
byte[] bt = new byte[fs.Length];
fs.Read(bt, 0, (int)fs.Length);
MemoryStream ms = new MemoryStream(bt);
System.Drawing.Image myImage = System.Drawing.Image.FromStream(ms,true);//这里报FromStream的参数无效
myImage.Save(ms, ImageFormat.Jpeg);
save_img(ms);这里的参数该如何写?
用fs替换ms一样的参数无效。
FormStream中的参数是 你要创建的文件名称.
ms 是创建支持的内存流,这个当然无效
再好是认真看下MSDN :http://msdn.microsoft.com/zh-cn/library/htxexw02%28v=VS.80%29.aspx
Stream stream,
bool useEmbeddedColorManagement
)参数
stream
Stream,包含该 Image 的数据。 useEmbeddedColorManagement
若要使用该数据流中嵌入的颜色管理信息,则设置为 true;否则设置为 false。 返回值
此方法创建的 Image。
MemoryStream ms = new MemoryStream();
new BinaryFormatter().Serialize(ms, image1);
byte[] aBytes = ms.ToArray();
ms = new MemoryStream(aBytes);
Image image2 = (Image)new BinaryFormatter().Deserialize(ms);System.IO.MemoryStream ms2 = new MemoryStream();
image2.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bBytes = ms.ToArray();
ms.Close();直接将
而使用所谓的 Image.Save 来保存图片然后以后再FromStream,中间只是二进制流作为载体,我相信几乎所有国际上开源的软件的源代码,你都看不到这样做能够成功的!