zoukankan      html  css  js  c++  java
  • 图片分离,试用于各种文件跨站传输,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();

  • 相关阅读:
    docker 部署springboot
    CentOS 7 安装docker
    008自瞄原理
    007根据矩阵基地址绘制方框
    006寻找矩阵
    005分析其他人基地址
    易语言读取鼠标坐标x,y
    003获取鼠标x,y
    Oracle单机Rman笔记[0]---环境准备
    系统优化设计笔记--曹大公众号文章笔记
  • 原文地址:https://www.cnblogs.com/ken-admin/p/6405837.html
Copyright © 2011-2022 走看看