URL url = new URL(taxVerifyCodeImageUrl);//taxVerifyCodeImageUrl是网址变量
//打开网络输入流
DataInputStream dis = new DataInputStream(url.openStream());
String relativeVerifyPath = "VerifyImages/"+DateTimeUtil.getCurrentDate()+"/"+custId+"/";
//构造图片保存目录
String VerifyParentDir = contextPath + relativeVerifyPath;
logger.info("验证码保存目录:" + VerifyParentDir);
String s = UUID.randomUUID().toString();
//去掉“-”符号
String a = s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24);
String newImageName= "VerifyParentDir/a.jpg";//主要是这句,怎么把路径变量和随机生成的uuid(文件名)组合起来变成保存文件的路径???
//建立一个新的文件
FileOutputStream fos = new FileOutputStream(new File(newImageName));
byte[] buffer = new byte[1024];
int length;
//开始填充数据
while((length = dis.read(buffer))>0){
fos.write(buffer,0,length);
}
求各位大神指导
没看懂,你到底要问啥问题呢,是 1.图片怎么保存到本地 ? 2.图片怎么命名? 3.是你贴的代码执行不了?
没太看懂你想要什么,不过你看看这段代码对你有帮助吗
String path = request.getServletContext().getRealPath("你要获取路径的文件夹名称");
String newImageName=path+File.separator+ "VerifyParentDir/a.jpg";
你想要的应该是这个
String newImageName= "VerifyParentDir/"+a+".jpg";
验证码为什么需要保存到本地呢? 不是取到验证码,与后台生成的验证码比较就行。 而已验证码一般都是代码写的,不是图片吧。 不懂。。我只是一个打酱油路过的围观群众
这个图形验证码应该是不用保存到本地的吧?读的是流,直接在img标签中写上请求的地址就可以了