精华内容
下载资源
问答
  • java servlet生成二维码

    2018-02-03 15:24:18
    这是当初初学zxing和sevlet的时候写的,保存路径在ToBeZxing里,这里用的是绝对路径所以在你的电脑上多半需要更改,有注释应该一眼能看出来。为了防止名字的重复,我使用的md5来为每一个二维码命名。谢谢采纳并给予...
  • java后台生成二维码

    2019-02-25 17:01:54
    生成二维码工具类 主要步骤: public static void main(String[] args) throws Exception { String realPath = request.getSession().getServletContext().getRealPath("/"); //...

    生成二维码工具类

    主要步骤:

     public static void main(String[] args) throws Exception {
    		 String realPath = request.getSession().getServletContext().getRealPath("/");
    		 //获取服务器项目绝对路径
    		 System.out.println(realPath);
            String text = "http://www.cnblogs.com/qianxiaoruofeng/";
            String path= QRCodeUtil.encode(text,realPath ,true);
        }
    

    以下是工具

    package com.thinkgem.jeesite.common.utils;
    
    import com.google.zxing.*;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.common.HybridBinarizer;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    import com.thinkgem.jeesite.common.config.Global;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.geom.RoundRectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.OutputStream;
    import java.util.Hashtable;
    import java.util.Random;
    
    import static com.thinkgem.jeesite.app.mobile.controller.AppController.uploadFile;
    
    public class QRCodeUtil {
        private static final String CHARSET = "utf-8";
        private static final String FORMAT_NAME = "JPG";
        // 二维码尺寸
        private static final int QRCODE_SIZE = 200;
        // LOGO宽度
        private static final int WIDTH = 60;
        // LOGO高度
        private static final int HEIGHT = 60;
    
        private static BufferedImage createImage(String content, String imgPath,
                                                 boolean needCompress) throws Exception {
            Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
                    BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.getHeight();
            BufferedImage image = new BufferedImage(width, height,
                    BufferedImage.TYPE_INT_RGB);
            for (int x = 0; x < width; x++) {
                for (int y = 0; y < height; y++) {
                    image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
                            : 0xFFFFFFFF);
                }
            }
            if (imgPath == null || "".equals(imgPath)) {
                return image;
            }
            // 插入图片
            QRCodeUtil.insertImage(image, imgPath, needCompress);
            return image;
        }
    
        /**
         * 插入LOGO
         *
         * @param source
         *            二维码图片
         * @param imgPath
         *            LOGO图片地址
         * @param needCompress
         *            是否压缩
         * @throws Exception
         */
        private static void insertImage(BufferedImage source, String imgPath,
                                        boolean needCompress) throws Exception {
            File file = new File(imgPath);
            if (!file.exists()) {
                System.err.println(""+imgPath+"   该文件不存在!");
                return;
            }
            Image src = ImageIO.read(new File(imgPath));
            int width = src.getWidth(null);
            int height = src.getHeight(null);
            if (needCompress) { // 压缩LOGO
                if (width > WIDTH) {
                    width = WIDTH;
                }
                if (height > HEIGHT) {
                    height = HEIGHT;
                }
                Image image = src.getScaledInstance(width, height,
                        Image.SCALE_SMOOTH);
                BufferedImage tag = new BufferedImage(width, height,
                        BufferedImage.TYPE_INT_RGB);
                Graphics g = tag.getGraphics();
                g.drawImage(image, 0, 0, null); // 绘制缩小后的图
                g.dispose();
                src = image;
            }
            // 插入LOGO
            Graphics2D graph = source.createGraphics();
            int x = (QRCODE_SIZE - width) / 2;
            int y = (QRCODE_SIZE - height) / 2;
            graph.drawImage(src, x, y, width, height, null);
            Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
            graph.setStroke(new BasicStroke(3f));
            graph.draw(shape);
            graph.dispose();
        }
    
        /**
         * 生成二维码(内嵌LOGO)
         *
         * @param content
         *            内容
         * @param imgPath
         *            LOGO地址
         * @param destPath
         *            存放目录
         * @param needCompress
         *            是否压缩LOGO
         * @throws Exception
         */
        public static String encode(String content, String imgPath, String destPath,
                                    boolean needCompress) throws Exception {
            BufferedImage image = QRCodeUtil.createImage(content, imgPath,
                    needCompress);
            mkdirs(destPath);
            String file = new Random().nextInt(99999999)+".jpg";
            ImageIO.write(image, FORMAT_NAME, new File(destPath+"/"+file));
            return file;
        }
    
        /**
         * 当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
         * @author lanyuan
         * Email: mmm333zzz520@163.com
         * @date 2013-12-11 上午10:16:36
         * @param destPath 存放目录
         */
        public static void mkdirs(String destPath) {
            File file =new File(destPath);
            //当文件夹不存在时,mkdirs会自动创建多层目录,区别于mkdir.(mkdir如果父目录不存在则会抛出异常)
            if (!file.exists() && !file.isDirectory()) {
                file.mkdirs();
            }
        }
    
        /**
         * 生成二维码(内嵌LOGO)
         *
         * @param content
         *            内容
         * @param imgPath
         *            LOGO地址
         * @param destPath
         *            存储地址
         * @throws Exception
         */
        public String encode(String content, String imgPath, String destPath)
                throws Exception {
          String path= QRCodeUtil.encode(content, imgPath, destPath, false);
          return path;
        }
    
        /**
         * 生成二维码
         *
         * @param content
         *            内容
         * @param destPath
         *            存储地址
         * @param needCompress
         *            是否压缩LOGO
         * @throws Exception
         */
        public static String encode(String content, String destPath,
                                    boolean needCompress) throws Exception {
         String path= QRCodeUtil.encode(content, null, destPath, needCompress);
         return path;
        }
    
        /**
         * 生成二维码
         *
         * @param content
         *            内容
         * @param destPath
         *            存储地址
         * @throws Exception
         */
        public String encode(String content, String destPath) throws Exception {
          String path=  QRCodeUtil.encode(content, null, destPath, false);
          return path;
        }
    
        /**
         * 生成二维码(内嵌LOGO)
         *
         * @param content
         *            内容
         * @param imgPath
         *            LOGO地址
         * @param output
         *            输出流
         * @param needCompress
         *            是否压缩LOGO
         * @throws Exception
         */
        public static void encode(String content, String imgPath,
                                  OutputStream output, boolean needCompress) throws Exception {
            BufferedImage image = QRCodeUtil.createImage(content, imgPath,
                    needCompress);
            ImageIO.write(image, FORMAT_NAME, output);
        }
    
        /**
         * 生成二维码
         *
         * @param content
         *            内容
         * @param output
         *            输出流
         * @throws Exception
         */
        public static void encode(String content, OutputStream output)
                throws Exception {
            QRCodeUtil.encode(content, null, output, false);
        }
    
        /**
         * 解析二维码
         *
         * @param file
         *            二维码图片
         * @return
         * @throws Exception
         */
        public static String decode(File file) throws Exception {
            BufferedImage image;
            image = ImageIO.read(file);
            if (image == null) {
                return null;
            }
            BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(
                    image);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
            Result result;
            Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
            hints.put(DecodeHintType.CHARACTER_SET, CHARSET);
            result = new MultiFormatReader().decode(bitmap, hints);
            String resultStr = result.getText();
            return resultStr;
        }
    
        /**
         * 解析二维码
         *
         * @param path
         *            二维码图片地址
         * @return
         * @throws Exception
         */
        public static String decode(String path) throws Exception {
            return QRCodeUtil.decode(new File(path));
        }
    
        /**
         * 获得上传后的编码
         *
         * @param file
         * @return
         */
        public static String path(MultipartFile file) {
    
            String filePath = Global.getUserfilesBaseDir() + Global.USERFILES_BASE_URL + "upload/app/interface/"; //文件上传目录
            //String fileName = String.valueOf(System.currentTimeMillis()) + file.getOriginalFilename();//替换文件名称
            String orifilename = file.getOriginalFilename();
            String fileName = String.valueOf(System.currentTimeMillis()) + orifilename.substring(orifilename.lastIndexOf("."));//替换文件名称
            try {
                uploadFile(file.getBytes(), FileUtils.path(filePath), fileName);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return Global.USERFILES_BASE_URL + "upload/app/interface/" + fileName;
        }
    }
    
    展开全文
  • java如何生成二维码

    2017-04-17 20:28:29
    1,去百度QR-code下一个安装包,解压 2,把 F:\zxing-master\core\src\main\java\路径下的com包和F:\zxing-master\javase\src\main\java包导入一个新的项目下... //定义生成二维码的大小  int width=300;  int h

    1,去百度QR-code下一个安装包,解压

    2,把 F:\zxing-master\core\src\main\java\路径下的com包和F:\zxing-master\javase\src\main\java包导入一个新的项目下,导出zixing.jar

    3,把zixing.jar导入项目中

    4,实现代码

     //定义生成二维码的大小

      int width=300;
      int height=300;

    //生成的格式
      String format="png";

    //扫码时所得到的网址并打开
      String content="http://baidu.com";
      //定义二维码数组
      HashMap hints=new HashMap();
      hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
      hints.put(EncodeHintType.MARGIN, 2);
      
      //生成二维码
      try {
      BitMatrix bitMatrix=  new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
       Path file=new File("e:/test/img.png").toPath();
       MatrixToImageWriter.writeToPath(bitMatrix, format, file);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

    展开全文
  • 1.生成二维码 //生成二维码 @RequestMapping("/genTDC") public ModelAndView genTDC(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setDateHeader("Expires", 0); ...

    1.生成二维码

    //生成二维码
    	@RequestMapping("/genTDC")
    	public ModelAndView genTDC(HttpServletRequest request, HttpServletResponse response) throws Exception {
    		response.setDateHeader("Expires", 0);
    		// Set standard HTTP/1.1 no-cache headers.
    		response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    		// Set IE extended HTTP/1.1 no-cache headers (use addHeader).
    		response.addHeader("Cache-Control", "post-check=0, pre-check=0");
    		// Set standard HTTP/1.0 no-cache header.
    		response.setHeader("Pragma", "no-cache");
    		// return a jpeg
    		response.setContentType("image/jpeg");
    		// create the text for the image
    		String schema = request.getScheme();
    		String servername = request.getServerName();
    		InetAddress ip2 = InetAddress.getLocalHost();
    		String localip = ip2.toString().substring(ip2.toString().indexOf("/") + 1);
    		String path = request.getContextPath();
    		int serverPort = request.getServerPort();
    		// 根据wjid获取当前问卷时间以确定二维码有效期
    		int sfyx = jspjService.queryewmyxq(wjid);//这个是判断二维码的条件 如果成立就能访问二维码 如果不成立就不能
    		String capText1 = "二维码已失效";
    		if (sfyx > 0) {
    			// 获取ip
    			// 根据URL获取当前项目二维码扫描到的地址 
    			//这是本地的路径 http://ip:端口号/项目名/controller/方法
    			//capText1 = schema + "://" + localip + ":" + serverPort + path + "/jspjj/toSweepCode.do“;
    			//capText1 =”https://www.baidu.com/“;
    		}
    		ServletOutputStream out;
    		try {
    			out = response.getOutputStream();
    			TwoDimensionCode.encoderQRCode(capText1, out, "jpg", 15);
    		} catch (IOException e) {
    			e.printStackTrace();
    		};
    		return null;
    	}
    

    直接访问这个路径就可以生成一张图片

    2.生成并保存二维码

     //保存二维码到本地
    	@RequestMapping("/saveImageDt")
    	public ModelAndView saveImageDt(HttpServletRequest request, HttpServletResponse response)throws Exception {
    		response.setDateHeader("Expires", 0);
    		response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    		response.addHeader("Cache-Control", "post-check=0, pre-check=0");
    		response.setHeader("Pragma", "no-cache");
    		response.setContentType("image/jpeg");
    
    		String schema = request.getScheme();
    		String servername = request.getServerName();
    		InetAddress ip2 = InetAddress.getLocalHost();
    		String localip = ip2.toString().substring(ip2.toString().indexOf("/") + 1);
    		String path = request.getContextPath();
    		int serverPort = request.getServerPort();
    			// 根据URL获取当前项目二维码扫描到的地址
    			capText1 = ”“;
    		response.addHeader("Content-Disposition", "attachment;filename=smdt.jpg");
    		response.setContentType("image/jpeg");//保存的路径
    		try {
    			request.setCharacterEncoding("UTF-8");
    		} catch (UnsupportedEncodingException e1) {
    			e1.printStackTrace();
    		}
    		ByteArrayOutputStream os = new ByteArrayOutputStream();
    		try {
    			TwoDimensionCode.encoderQRCode(capText1, os, "jpg", 15);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		InputStream is = null;
    		OutputStream out = null;
    		try {
    			is = new ByteArrayInputStream(os.toByteArray());
    			out = response.getOutputStream();
    			byte[] b = new byte[1024];
    			int i = 0;
    			while ((i = is.read(b)) > 0) {
    				out.write(b, 0, i);
    			}
    			out.flush();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			if (is != null) {
    				try {
    					is.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    			is = null;
    			if (out != null) {
    				try {
    					out.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    			out = null;
    		}
    		return null;
    	}
    
    展开全文
  • java生成二维码保存本地路径 导入依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </...

    java生成二维码保存本地路径

    导入依赖

    		<dependency>
    			<groupId>com.google.zxing</groupId>
    			<artifactId>core</artifactId>
    			<version>3.3.0</version>
    		</dependency>
    		<dependency>
    			<groupId>com.google.zxing</groupId>
    			<artifactId>javase</artifactId>
    			<version>3.3.0</version>
    		</dependency>
    

    编写工具类CodeImageUtil

    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.HashMap;
    import java.util.Map;
    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.WriterException;
    import com.google.zxing.client.j2se.MatrixToImageWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    public class CodeImageUtil {
    	// 默认二维码宽度
    	public static final int WIDTH = 300;
    	// 默认二维码高度
    	public static final int HEIGHT = 300;
    	// 默认二维码文件格式
    	public static final String FORMAT = "png";
    	// 二维码参数
    	public static final Map<EncodeHintType, Object> HINTS = new HashMap<EncodeHintType, Object>();
    	// 初始化编码格式等参数
    	static {
    		// 字符编码
    		HINTS.put(EncodeHintType.CHARACTER_SET, "utf-8");
    		// 纠错的等级 L > M > Q > H 纠错的能力越高可存储的越少,一般使用M
    		HINTS.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    		// 二维码与图片边距
    		HINTS.put(EncodeHintType.MARGIN, 2);
    	}
    
    	/**
    	 * 
    	 * @description:功能描述 将二维码写出到输出流中
    	 * @param content 二维码内容即要存储在二维码中的内容(扫描二维码之后获取的内容)
    	 * @param stream  输出流
    	 * @param width   二维码宽
    	 * @param height  二维码高
    	 * @throws WriterException
    	 * @throws IOException     @see: 需要参见的其它内容
    	 */
    	public static void writeToStream(String content, OutputStream stream, Integer width, Integer height)
    			throws WriterException, IOException {
    		if (width == null) {
    			width = WIDTH;
    		}
    		if (height == null) {
    			height = HEIGHT;
    		}
    		BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, HINTS);
    		MatrixToImageWriter.writeToStream(bitMatrix, FORMAT, stream);
    	}
    }
    

    测试

    public class test {
    	public static void main(String[] args) {
    		// 生成二维码
    		String url = "https://www.baidu.com/";
    		String fileName = "二维码.png";
    		ByteArrayOutputStream out = new ByteArrayOutputStream();
    		// 生成二维码图片
    		try {
    			CodeImageUtil.writeToStream(url, out, 300, 300);
    			InputStream in = new ByteArrayInputStream(out.toByteArray());
    			// 将生成的二维码写入图片,也可直接使用流
    			String filePath = "C:\\aaa\\" + fileName;
    			FileOutputStream fos = new FileOutputStream(filePath);
    			int length;
    			byte[] b = new byte[1024];
    			while ((length = in.read(b)) > 0) {
    				fos.write(b, 0, length);
    			}
    			fos.flush();
    			in.close();
    			fos.close();
    		} catch (WriterException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	System.out.println("success");
    	}
    }
    
    展开全文
  • Java后台生成二维码,前端页面调用

    千次阅读 2018-06-04 12:32:19
    二维码三部曲,这三个就可以直接生成二维码了到页面了工具类public class QuickMarkUtil { /** 37 * 生成包含字符串信息的二维码图片 38 * @param outputStream 文件输出流路径 39 * @param content 二维码...
  • Java 快速实现二维码图片项目路径生成和文件压缩下载。Zxing工具类在这个小demo中基本用不到,需要做复杂的二维码还是可以的,如二维码嵌入Logo图片等。 目录 Zxing二维码生成工具 服务器快速二维码图片管理 ...
  • Java 生成二维码源码

    2013-09-17 14:10:39
    java代码直接生成二维码,生成的二维码图片在F盘里面,可以根据自己的需要进行修改路径即可,否则报错
  • Java生成解析二维码

    2019-07-12 23:08:41
    此代码为eclipse环境下导出,使用时注意修改自己的对应的JDK版本,和生成二维码路径需要配置为自己电脑上的地址。
  • Java解析二维码与生成二维码 public class JieDuErWerMa { /** * 解析二维码 * @param path :二维码路径 */ public static void ErWeiCode(String path){ try { //拿到二维码,用File...
  • java生成二维码

    2013-06-06 16:08:56
    java生成二维码 已经打好包了。可以直接使用。附带使用样例和说明。 import com.isloop.QRCodeEncoderTest; public class test { public static void main(String[] args) { // TODO Auto-generated method ...
  • Java 生成二维码

    千次阅读 2013-03-24 19:40:13
    Java调用swetake库生成二维码 步骤: 1. 在Maven中添加一个库的依赖项 swetake qrcode 0.5 2. 生成二维码图片,并返回该File类型文件(自己实现的) content:需要二维码图片存入的...
  • java生成二维码扫描跳转到指定的路径URL 导入依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.1.0</version> &...
  • mvn install:install-file -Dfile = QRCode的路径 -DgroupId=QRCode -DartifactId=QRCode -Dversion=3.0 -Dpackaging=jar 注意: 需要配置maven环境变量 在pom.xml文件里添加jar包 <dependency> ...
  • java二维码生成

    2017-10-31 15:16:20
    该上传内容适用于在java开发时管局地址路径生成二维码的Jar包
  • 具体的jar包就自行导入一下,这个小dome就是getUrl方法,传入内容,得到临时路径,至于得到file路径之后, 该oos就oos,该inputStream就走IO package com.***.manage.util; import java.awt.image.BufferedImage; ...
  • java 生成二维码图片

    千次阅读 2019-06-19 14:16:49
    jar路径:http://files.cnblogs.com/files/liaolongjun/qrcode.zip package com.example.demo; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.Output...
  • Java 生成二维码并实现展现和下载 防止自己忘了怎么用,记录一下 一、前端 接受后端返回的二维码需要用标签接收 例如: <img style="width: 100%;height: 100%" src="后端请求路径"> 下载 function ...
  • Java 生成二维码名片测试效果Mavenyml配置的路径完整代码和背景图资源在下方链接() 测试效果 Maven <!-- 二维码生成 --> <dependency> <groupId>commons-io</groupId> <...
  • // 生成二维码 文件地址 是否存在不存在则新增 File outputFile = new File(path); if(!outputFile.getParentFile().exists()){ outputFile.getParentFile().mkdirs(); } if(!outputFile.exists()){ output...
  • 生成二维码java文件

    2018-09-16 15:43:12
    设置二维码的宽高,网页跳转的路径,保存图片的地址,自动生成二维码图片。
  • java生成二维码方法

    2018-07-10 11:41:28
    一,jquery-qrcode方法(jsp页面写)1,引入两个js jquery-3.2.1.min.js jquery.qrcode.min.js2,创建web项目,在WebContent下创建js文件将上面两个复制到js下3,相同路径下创建jsp文件夹,引入JavaScript,如下:...
  • 毫无疑问,第一点也是最重要的一点引入相关 jar 包的支持。... // 生成图片路径 src/img.png String imgPath = "src/qr.png"; // 二维码内容: 文字信息 , 网址信息等。。 String contenx = "Hello World"; ...
  • 接下来将从IDEA创建springboot项目到生成效果图详细地为大家展示二维码的制作过程 1、首先是创建springboot项目 上面的图有红色标记的地方需要填写的,比如项目存放的路径,包名等,其他的一路next就可以了。 2...
  • 1.主程序 package zxingDemo; public class ZXingDemo { public static void main(String[] args) throws Exception { String imgPath = "src/img/zxing.png";//二维码存放路径 String content = "Hell...
  • public class TwoDimensionCode { /** * 生成二维码(QRCode)图片 * @param content 存储内容 * @param imgPath 图片路径 */ public void encoderQRCode(String content, String imgPath) { this.encoderQRCode...

空空如也

空空如也

1 2 3 4 5 6
收藏数 114
精华内容 45
关键字:

java路径生成二维码

java 订阅