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();
							 | 
						|||
| 
								 | 
							
								            
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |