Asp.Net Core在線生成二維碼

前言:

原先用zxing Code寫過基於Winfrom的批量生成二維碼工具,以及單個生成二維碼工具;批量生成二維碼Gihub源代碼

今天嘗試用QRCoder 加 Asp.Net Core 寫了一個在線生成二維碼的例子,並且保存圖片到Ubuntu系統;

代碼:

生成二維碼所需要用到的包:QRCoder

根據Github上的源代碼,引用NuGet包

PM> Install-Package QRCoder 

 

根據傳入的參數,生成二維碼,並且保存圖片

        public static void QRCode(string str)
        {
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(OpenId, QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            
            Bitmap qrCodeImage = qrCode.GetGraphic(20);
            
            qrCodeImage.Save(@"/root/public/images/" + str + ".png", ImageFormat.Png);
            Logger.Info("二維碼生成路徑:" + @"/root/public/images/" + str + ".png");
            qrCodeImage.Dispose();
        }

 

注意事項:

部署到Ubuntu服務器上時,出現錯誤:

 The type initializer for 'Gdip' threw an exception.

 這是因爲Ubuntu系統中未安裝gdi庫造成的,需要安裝 libgdiplus

 apt-get install libgdiplus 

 

最後成功生成二維碼

 

參考資料:

  • https://q.cnblogs.com/q/103863/
  • https://www.cnblogs.com/Robbery/p/10115234.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章