zoukankan      html  css  js  c++  java
  • 通过网络路径获取的图片 btye 图片流互转

    楼主有一个需要用户用的网站要上传图片,图片不保存到网站,而是要专门存放到一个图片服务器上面,于是需要通过byte的形式来传输

    之前写的一个本地图片流转于byte互转 后来发现通过网络路径获取的图片这个方法就用不了 后来百度了 换了一个新的写法


     图片流转成byte数组

    1      public byte[] SaveImage(Image image)
    2         {
    3             MemoryStream ms = new MemoryStream();
    4             BinaryFormatter bf = new BinaryFormatter();
    5             bf.Serialize(ms, (object)image);
    6             ms.Close();
    7             return ms.ToArray();
    8         }

    然后byte转成图片流并且保存

     1 //保存图片
     2 var path = "\Upload\LINGDAO\" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\";
     3 var serverPath = Server.MapPath("~" + path);//图片路径
     4 if (!Directory.Exists(serverPath))
     5 {
     6       Directory.CreateDirectory(serverPath);//创建文件夹
     7 }
     8       string fileName = Guid.NewGuid().ToString() + ".jpeg";
     9       10       //图片流存储为图片文件
    11        MemoryStream ms = new MemoryStream(data, 0, data.Length);
    12        BinaryFormatter bf = new BinaryFormatter();
    13        object obj = bf.Deserialize(ms);
    14        ms.Close();
    15        var img=(Image)obj;
    16        img.Save(serverPath + fileName, ImageFormat.Jpeg);

    需要注意的是在传送个接收的这个byte的数组的时候 要转换的流格式一致才能互转成功 否则就转换出来的东西可以打不开或者无效

  • 相关阅读:
    JavaScript总结(一)
    序列化函数
    random与os,sys模块
    认识模块
    时间模块
    日志处理
    异常处理
    类的约束
    反射
    区分函数以及方法
  • 原文地址:https://www.cnblogs.com/dzhengyang/p/7779320.html
Copyright © 2011-2022 走看看