首页 > 解决方案 > 如何编写控制器以将图像 Web 路径存储在数据库中

问题描述

在生成 QRCode 后,我需要使用 MVC C# 在内部创建一个方法来将我的 QRCode webpath 存储在数据库中,但我不知道如何对其进行编码。

下面是我的控制器代码:

    [HttpPost]

    public ActionResult Generate(QRCodeModel qrcode)
    {
        try
        {

            qrcode.QRCodeImagePath = GenerateQRCode($"{ qrcode.QRCodeText}", $"http://sradmindashboardyumeng.azurewebsites.net/{qrcode.QRCodeText}");
            ViewBag.Message = "QR Code Created successfully";
        }
        catch (Exception ex)
        {
        }
        return View(qrcode);
    }


    public string GenerateQRCode(string qrcodeText, string qrcodeUrl)
    {
        string folderPath = $"~/assets/images/QRcode/";
        //string webPath = $"~/assets/images/QRcode/{qrcodeText}.jpg";
        string imagePath = $"~/assets/images/QRcode/{qrcodeText}.jpg";


        var barcodeWriter = new BarcodeWriter();
        barcodeWriter.Format = BarcodeFormat.QR_CODE;
        var result = barcodeWriter.Write(qrcodeUrl);
        string barcodePath = System.Web.HttpContext.Current.Server.MapPath(imagePath);
        var barcodeBitmap = new Bitmap(result);
        using (MemoryStream memory = new MemoryStream())
        {
            using (FileStream fs = new FileStream(barcodePath, FileMode.Create, FileAccess.ReadWrite))
            {
                barcodeBitmap.Save(memory, ImageFormat.Jpeg);
                byte[] bytes = memory.ToArray();
                fs.Write(bytes, 0, bytes.Length);
            }
        }
        return imagePath;
    }



}

}

标签: c#asp.net-web-apimodel-view-controller

解决方案


推荐阅读