82 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
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 自定义
 | 
						|
        /// <summary>
 | 
						|
        /// 二维码路径id
 | 
						|
        /// </summary>
 | 
						|
        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);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 生成二维码方法
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="nr"></param>
 | 
						|
        /// <param name="urlName"></param>
 | 
						|
        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();
 | 
						|
            
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |