using BLL; using System; using System.IO; using System.Text; using System.Web.UI; using ThoughtWorks.QRCode.Codec; namespace FineUIPro.Web.Controls { public partial class ShowQRImage : Page { #region 自定义 /// /// 二维码路径id /// public string FileUrl { get { return (string)ViewState["FileUrl"]; } set { ViewState["FileUrl"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.txtName.InnerText = System.Web.HttpUtility.UrlDecode(Request.Params["title"]); this.FileUrl = "FileUpload\\ShowQRImage\\"; string urlName = Request.Params["urlName"]; string filePath = this.FileUrl + urlName + ".jpg"; if (!File.Exists(Funs.RootPath + filePath)) { this.CreateCode_Simple(Request.Params["strValue"], urlName); } this.divBeImageUrl.InnerHtml = UploadAttachmentService.ShowImage("../", filePath, 280, 280); } } /// /// 生成二维码方法 /// /// /// private void CreateCode_Simple(string nr, string urlName) { string imageUrl = string.Empty; QRCodeEncoder qrCodeEncoder = new QRCodeEncoder { QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE, QRCodeScale = nr.Length, QRCodeVersion = 0, QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M }; System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8); string filepath = Funs.RootPath + this.FileUrl; ////如果文件夹不存在,则创建 if (!Directory.Exists(filepath)) { Directory.CreateDirectory(filepath); } string filename = urlName + ".jpg"; imageUrl = filepath + filename; FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write); image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); fs.Close(); image.Dispose(); } } }