您的位置:首页 > 其它

生成二维码图片

2013-08-26 14:15 218 查看
1.

引用ThoughtWorks.QRCode.dll

2.

   #region 生成二维码图片
/// <summary>
///  生成二维码图片
/// </summary>
/// <returns>上传图片路径</returns>
public static string UploadQRCodeImage(string fileUrl, string typeName)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
String encoding = "Byte";
if (encoding == "Byte")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
}
else if (encoding == "AlphaNumeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
}
else if (encoding == "Numeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
}
try
{
int scale = 3;
qrCodeEncoder.QRCodeScale = scale;
}
catch (Exception ex)
{
// return;
}
try
{
int version = 0;//出现数组溢出问题,使用0会自动检测,使得encode通过
qrCodeEncoder.QRCodeVersion = version;
}
catch (Exception ex)
{
// MessageBox.Show("Invalid version !");
}

string errorCorrect = "H";
if (errorCorrect == "L")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
else if (errorCorrect == "M")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
else if (errorCorrect == "Q")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
else if (errorCorrect == "H")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;

Image image;
//  String data = fileUrl;
image = qrCodeEncoder.Encode(fileUrl);

//上传目录
string directory = HttpContext.Current.Server.MapPath(QRCodePath);
string fileName = typeName + ".png";// + fileUrl.Split('.').Last();

if (!String.IsNullOrEmpty(fileName))
{
//文件全路径
string path = directory + fileName;
//判断目录是否存在
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
//文件存在就删除文件
AccessoryAPPI.DeleteFiles(path);

image.Save(path);
}
return "";
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: