• 图片分离,试用于各种文件跨站传输,post方法传输


    主要思想:把不通形式的文件或者文字,以字节编码流的形式传递过去然后反解析后重新生成原文件

    //------------------------------发送部分--------------------------------------------------

    string url = "http://localhost/im/upfile?aa=5";//发送到的页面的地址
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

    //读取一个图片
    FileStream fs = new FileStream(Server.MapPath("~/123123.jpg"),
    System.IO.FileMode.Open,
    System.IO.FileAccess.Read);
    byte[] filecontent = new byte[fs.Length];
    fs.Read(filecontent, 0, filecontent.Length);
    fs.Close();
    fs.Dispose();

    //将图片转换成base64编码的流
    string a = Convert.ToBase64String(filecontent);

    //读取base64编码流,发送
    byte[] requestBytes = System.Text.Encoding.Default.GetBytes(a);

    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    req.ContentLength = requestBytes.Length;
    Stream requestStream = req.GetRequestStream();
    requestStream.Write(requestBytes, 0, requestBytes.Length);
    requestStream.Close();

    //接收返回参数,到string backstr
    HttpWebResponse res = (HttpWebResponse)req.GetResponse();
    StreamReader sr = new StreamReader(res.GetResponseStream(),
    System.Text.Encoding.Default);
    string backstr = sr.ReadToEnd();
    sr.Close();
    res.Close();
    //输出参数
    Response.Write(backstr);
    //-----------------------------------------------接收部分-----------------------------------

    //接收到的参数
    string bb= Request.QueryString["aa"];
    Encoding myEncoding = Encoding.GetEncoding("utf-8");

    //接收传递过来的数据流
    Stream resStream = Request.InputStream;

    byte[] filecontent = new byte[resStream.Length];
    //将数据流读入byte数组
    resStream.Read(filecontent, 0, filecontent.Length);
    //数组转换为string以便转换base64使用
    string a = myEncoding.GetString(filecontent);
    //将string读取base64解密到byte数组
    byte[] filecontent2 = Convert.FromBase64String(a);
    //写入目录
    File.WriteAllBytes(Server.MapPath("~/"+bb+".jpg"), filecontent2);
    //返回值
    Response.Write("ok");
    Response.End();

  • 相关阅读:
    107、Java中String类之判断开头或结尾
    106、Java中String类之使用contains()方法判断子字符串是否存在
    105、Java中String类之利用indexOf()方法判断子字符串是否存在
    104、Java中String类之使用indexOf()等功能查找
    103、Java中String类之compareTo()方法
    102、Java中String类之相等判断(忽略大小写)
    101、Java中String类之判断是否由数字组成
    100、Java中String类之字符串转为大写
    099、Java中String类之字符数组与字符串的转换
    098、Java中String类之charAt()方法
  • 原文地址:https://www.cnblogs.com/ken-admin/p/6405837.html
Copyright © 2020-2023  润新知