qq_34063020
Heally_Li
采纳率22.2%
2016-08-24 03:14 阅读 2.2k

Java开发从网站上获取的验证码图片如何保存到本地(图片怎么命名)?

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

                    求各位大神指导
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • iverson3sod 菠萝炒辣条 2016-08-24 03:34

    没看懂,你到底要问啥问题呢,是 1.图片怎么保存到本地 ? 2.图片怎么命名? 3.是你贴的代码执行不了?

    点赞 评论 复制链接分享
  • sunguoqiang1213 println小强 2016-08-24 05:19

    没太看懂你想要什么,不过你看看这段代码对你有帮助吗

    String path = request.getServletContext().getRealPath("你要获取路径的文件夹名称");
     String newImageName=path+File.separator+ "VerifyParentDir/a.jpg";
    
    点赞 评论 复制链接分享
  • sunguoqiang1213 println小强 2016-08-24 05:23

    你想要的应该是这个

      String newImageName= "VerifyParentDir/"+a+".jpg";
    
    点赞 评论 复制链接分享
  • u013829202 觅夜的黑 2016-08-24 11:23

    验证码为什么需要保存到本地呢? 不是取到验证码,与后台生成的验证码比较就行。 而已验证码一般都是代码写的,不是图片吧。 不懂。。我只是一个打酱油路过的围观群众

    点赞 评论 复制链接分享
  • u013076997 efficiency_shang 2016-08-24 14:14

    这个图形验证码应该是不用保存到本地的吧?读的是流,直接在img标签中写上请求的地址就可以了

    点赞 评论 复制链接分享

相关推荐