我写了一个生成二维码程序,然后在jsp页面调用方法,生成一个二维码图片放在项目中的images文件夹,然后在jsp把图片显示出来,<img src="XX">这样可以显示,二维码的内容应该是不一样的,因为会根据不同的编号生成一个二维码,每次运行完之后扫描images文件下的二维码图片内容都不一样,可是扫描jsp页面上的二维码内容都一样,这是怎么回事啊?
BarcodeFactory.encode(str,120, 120, "images/back3.jpg", "images/1.jpg");这是在jsp调用二维码方法生成图片,路径不对吗,为什么总报错Can't read input file!(images文件夹在webroot下),图片路径应该怎么写
对,每次根据所选不同的编号生成二维码图片,显示就是用的img标签,流输出的方式是?
追答验证码写过吗?一样的道理。都是以流的形式,输出类型为image
追问没写过,能给个基本的格式吗,谢谢
追答response.setContentType("image/jpeg");//设置相应类型,告诉浏览器输出的内容为图片BarcodeFactory.encode(str,120, 120, "images/back3.jpg", "images/1.jpg");这是在jsp调用二维码方法生成图片,路径不对吗,为什么总报错Can't read input file!(images文件夹在webroot下),图片路径应该怎么写
追答需要转成绝对路径.而不是相对路径.File加载文件必须使用绝对路径.
追问不好意思,真的感谢你的回答,设置成绝对路径可以了,显示的时候应该怎么写路径呢,因为二维码内容每次都不一样,我这样写可以显示但扫描后内容都一样,tomcat中扫描出内容是正确的,应该怎么写才能使每次扫出来的内容不一样呢
追答问得越来越不像是在说同一个问题了。
如果是在Servlet中,直接传入ID就行了。生成的内容,你根据ID来生成不就可以了?