最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法

 更新時間:2022年05月20日 16:04:05   作者:赤原  
這篇文章主要介紹了關于微信小程序獲取小程序碼并接受buffer流保存為圖片的方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用小程序具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧<BR>

前言

昨天因為小程序功能要獲取小程序程序碼,看了微信文檔爬了好多坑。(留一下記錄以防后面被坑)

操作

因為我獲取到了微信那里的圖片的圖片流一直不知道怎么處理,今天總算找到相關文檔,解決了。因為數(shù)據(jù)流不能直接傳給前端,只好把buffer流轉成圖片保存在服務器上,沒辦法啊~

廢話不多說上代碼

    public static string Api_Post(string postUrl, string postData, WebHeaderCollection header = null,bool isPic=false)
     {
      Stream outstream = null;
      Stream instream = null;
      StreamReader sr = null;
      HttpWebResponse response = null;
      HttpWebRequest request = null;
      Encoding encoding = Encoding.UTF8;
      byte[] data = encoding.GetBytes(postData);
      // 準備請求...
      try
      {
        // 設置參數(shù)
        request = WebRequest.Create(postUrl) as HttpWebRequest;
        CookieContainer cookieContainer = new CookieContainer();
        request.CookieContainer = cookieContainer;
        request.AllowAutoRedirect = true;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        if (header != null) request.Headers = header;
        request.ContentLength = data.Length;
        outstream = request.GetRequestStream();
        outstream.Write(data, 0, data.Length);
        outstream.Close();
        //發(fā)送請求并獲取相應回應數(shù)據(jù)
        response = request.GetResponse() as HttpWebResponse;
        //直到request.GetResponse()程序才開始向目標網(wǎng)頁發(fā)送Post請求
        instream = response.GetResponseStream();

        if (isPic)
        {
          byte[] tt = StreamToBytes(instream);//將數(shù)據(jù)流轉為byte[]
          System.IO.File.WriteAllBytes(HttpContext.Current.Server.MapPath("~/WxCode.jpg"), tt);
          WxQRCodeModel model = new WxQRCodeModel();
          model.data = "192.168.1.216:80/WxCode.jpg";
          model.errcode = 0;
          string content = Config.js.Serialize(model);
          string err = string.Empty;
          return content;
        }
        else
        {
          sr = new StreamReader(instream, encoding);
          //返回結果網(wǎng)頁(html)代碼
          string content = sr.ReadToEnd();
          string err = string.Empty;
          return content;
        }

      }
      catch (Exception ex)
      {
        if (isPic)
        {
          sr = new StreamReader(instream, encoding);
          //返回結果網(wǎng)頁(html)代碼
          string content = sr.ReadToEnd();
          string err = string.Empty;
          return content;
        }
        else
        {
          string err = ex.Message;
          return string.Empty;
        }
      }
    }

因為是instream接受到微信接口那里發(fā)送過來的數(shù)據(jù)流,就在instream那里處理,把數(shù)據(jù)流轉換為byte[]數(shù)組,然后依靠File的WriteAllBytes方法把轉換OK的byte[]數(shù)組轉換為圖片存放在服務器上,然后把圖片路徑交給model。

    ///將數(shù)據(jù)流轉為byte[]
    public static byte[] StreamToBytes(Stream stream)
    {
      List<byte> bytes = new List<byte>();
      int temp = stream.ReadByte();
      while (temp != -1)
      {
        bytes.Add((byte)temp);
        temp = stream.ReadByte();
      }
      return bytes.ToArray();
    }

結尾

最近才接觸到微信小程序開發(fā),emmmm。覺得自己摸魚摸得好厲害,不過終于把坑爬出來,特別開心。哈哈哈~以后要多多寫開發(fā)記錄。上班期間碼得很隨意

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

最新評論

渭源县| 确山县| 九龙县| 循化| 沈丘县| 博湖县| 汝城县| 栖霞市| 来凤县| 江华| 遵义市| 海盐县| 景宁| 永川市| 弋阳县| 固始县| 镇江市| 遵义县| 南安市| 漾濞| 登封市| 磐石市| 衡阳县| 班玛县| 清河县| 南川市| 福清市| 曲沃县| 铁岭县| 斗六市| 沛县| 开鲁县| 西贡区| 嘉峪关市| 慈溪市| 抚顺县| 黔东| 疏勒县| 堆龙德庆县| 福海县| 城口县|