91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序如何獲取小程序碼并接受buffer流保存為圖片

發布時間:2021-05-22 11:03:52 來源:億速云 閱讀:367 作者:小新 欄目:web開發

小編給大家分享一下微信小程序如何獲取小程序碼并接受buffer流保存為圖片,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

操作

因為我獲取到了微信那里的圖片的圖片流一直不知道怎么處理,今天總算找到相關文檔,解決了。因為數據流不能直接傳給前端,只好把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
      {
        // 設置參數
        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();
        //發送請求并獲取相應回應數據
        response = request.GetResponse() as HttpWebResponse;
        //直到request.GetResponse()程序才開始向目標網頁發送Post請求
        instream = response.GetResponseStream();

        if (isPic)
        {
          byte[] tt = StreamToBytes(instream);//將數據流轉為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);
          //返回結果網頁(html)代碼
          string content = sr.ReadToEnd();
          string err = string.Empty;
          return content;
        }

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

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

///將數據流轉為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();
    }

以上是“微信小程序如何獲取小程序碼并接受buffer流保存為圖片”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中江县| 赞皇县| 苏尼特左旗| 安多县| 嘉峪关市| 东乡县| 依安县| 衡东县| 黄骅市| 安多县| 长兴县| 嘉善县| 丰宁| 揭东县| 印江| 娱乐| 胶南市| 扬中市| 三原县| 吉安县| 阿拉善左旗| 汾西县| 江北区| 桦甸市| 米脂县| 南宫市| 博客| 焦作市| 南郑县| 林芝县| 灵璧县| 桐乡市| 濉溪县| 昂仁县| 讷河市| 沙雅县| 南充市| 湛江市| 汉川市| 乐安县| 城口县|