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一样的参数无效。

解决方案 »

  1.   

    额。
        FormStream中的参数是 你要创建的文件名称.
      ms 是创建支持的内存流,这个当然无效
      

  2.   


    再好是认真看下MSDN :http://msdn.microsoft.com/zh-cn/library/htxexw02%28v=VS.80%29.aspx
      

  3.   

    public static Image FromStream (
    Stream stream,
    bool useEmbeddedColorManagement
    )参数
    stream
    Stream,包含该 Image 的数据。 useEmbeddedColorManagement
    若要使用该数据流中嵌入的颜色管理信息,则设置为 true;否则设置为 false。 返回值
    此方法创建的 Image。 
      

  4.   

     System.Drawing.Image myImage = System.Drawing.Image.FromStream(ms,false);//
      

  5.   

    这里有个例子,不但有图片和二进制转换,而且包括二进制图片如何序列化/反序列://Image image1 = pictureBox1.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();直接将
      

  6.   

    注意到了吗?将图片转换为二进制流,使用的是      new BinaryFormatter().Serialize(ms, image1);对应地,使用     (Image)new BinaryFormatter().Deserialize(ms);来恢复出图片。
    而使用所谓的 Image.Save 来保存图片然后以后再FromStream,中间只是二进制流作为载体,我相信几乎所有国际上开源的软件的源代码,你都看不到这样做能够成功的!