zoukankan      html  css  js  c++  java
  • 接收图片二进制流并保存图片

    string string_Img = context.Request.Form["photo"].ToString(); 

    //发送过来的数据流有可能会含有不需要的字符,如果有下面正则验证的方法可以去掉;若没有直接存即可

    Regex regex_input = new Regex(@"data:image/jpeg;base64,");
    if (regex_input.IsMatch(string_Img))
    {
    string strRemove = regex_input.Match(string_Img).Value;
    //去掉这些:data:image/jpeg;base64,
    string_Img = string_Img.Remove(0, strRemove.Length);
    byte[] byte_saveImg = Convert.FromBase64String(string_Img);//转换为等效的8位无符号整数组。

    //存图
    FileStream imgStream = new FileStream("YourSavePath", FileMode.Create);//此处保存路径是完整路径,包括文件名和扩展名
    imgStream.Write(byte_saveImg, 0, byte_saveImg.Length);
    imgStream.Close();
    imgStream.Dispose();

    //用下面的代码也可以完成保存功能

    //System.IO.File.WriteAllBytes("YourSavePath", byte_saveImg);  

    }

    另外接收POST数据流的一种方式:

    //接收流
    byte[] mybyte = context.Request.BinaryRead(context.Request.TotalBytes);

    //格式化为字符串
    //string mystr = System.Text.Encoding.UTF8.GetString(mybyte);

  • 相关阅读:
    c++,不能声明为虚函数的函数
    Abstract
    多态性vptrvtable
    C++的重写,重载,重定义
    final
    scanf()和getchar() 使用
    深入理解C++中的mutable关键字
    equal和==
    MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
    VS2008快捷键
  • 原文地址:https://www.cnblogs.com/huyueping/p/4448008.html
Copyright © 2011-2022 走看看