当前位置: 首页 > news >正文

网站班级文化建设视频title 芜湖网站制作

网站班级文化建设视频,title 芜湖网站制作,绑定网站域名怎么做,技术支持 嘉兴网站建设转载自 JAVA解析html文档#xff0c;替换img图片路径成base64编码#xff0c;并将文章存入数据库开发环境#xff1a;struts2 spring hibernate 数据库:oracle 需求#xff1a;在HTML编辑器中输入文章#xff0c;传入后台#xff0c;文章中所有图片路径#xff0c;转换…转载自  JAVA解析html文档替换img图片路径成base64编码并将文章存入数据库开发环境struts2 spring hibernate 数据库:oracle 需求在HTML编辑器中输入文章传入后台文章中所有图片路径转换成base64编码将文章存入数据库中的CLOB字段。 知识点HTML编辑器html解析base64编码String到CLOB类型转换一般情况下数据库只需要保存图片的路径就可以了图片文件放在项目文件夹中显示时只需加载图片路径即可。但是时下信息共享的渠道太多了 当IOSandroid微信公众号都操作同一个数据库的时候上述方案是无法加载到图片的。因此我想到一个办法就是上传图片后将路径替换为base64编码存入数据库即可。我使用的编辑器是kindeditor,演示内容备注kindeditor上传图片的功能会和struts2会有冲突因为struts2过滤jsp时会改变request类型解决方法链接http://blog.csdn.net/kunkun378263/article/details/23274369文章内容传到后台后调用HTML解析类的编码方法 并用hibernate的createClob方法将String 转成CLOB添加到数据库。 Action方法 public String add(){          String content  request.getParameter(content);          Clob clob Hibernate.createClob(HtmlJsoup.html_ImgToBase64(content));          article.setContent(clob);          service.add(article);                    return SUCCESS;      }  我使用的HTML解析器是jsoup类名和方法名都是和javaScript相类似的对于会jquery的同学简直是福音非常好理解非常好用下面是我自己写的HTML解析类的代码在转码前还会调用一个使用了正则表达式的方法用于检测路径是否为有效路径。 import java.io.File;  import java.util.regex.Matcher;  import java.util.regex.Pattern;  import org.apache.struts2.ServletActionContext;  import org.jsoup.Jsoup;  import org.jsoup.nodes.*;  import org.jsoup.select.Elements;    public class HtmlJsoup {        /**      * 检测图片路径是否为真实有效的路径方法      * param src      * return      */      public static boolean checkImage(String src){                      //使用正则表达式排除img标签src属性值已经是base64编码的情况          Pattern pattern  Pattern.compile(^data:image/(png|gif|jpg|jpeg|bmp|tif|psd|ICO);base64,.*);          Matcher matcher  pattern.matcher(src);          if(matcher.matches())              return false;          //排除src路径并非图片格式的情况          patternPattern.compile(^.*[.](png|gif|jpg|jpeg|bmp|tif|psd|ICO)$);          matcher  pattern.matcher(src);          if(!matcher.matches())              return false;          //排除图片路径不存在的情况          String path  ServletActionContext.getServletContext().getRealPath(src.substring(5, src.length()));          File file  new File(path);          if(!file.exists())              return false;                return true;      }      public static String html_ImgToBase64(String html){          Document doc  Jsoup.parse(html, utf-8);          Elements imgs  doc.getElementsByTag(img);                    for(Element img :imgs){              String src  img.attr(src);                            if(!checkImage(src))                  continue;              //将有效的路径传入base64编码的方法              img.attr(src,ImageBase64.imageToBase64Head(src));                        }                    //返回base64编码后的html文档          return doc.getElementsByTag(body).html();      }  }  最后是图片转base64的编码类代码记得要带上头文件不然显示时无法识别。 import java.io.*;  import org.apache.commons.codec.binary.Base64;  import org.apache.struts2.ServletActionContext;      public class ImageBase64 {              /**       * 将图片转换成Base64编码 ,带头文件       * param imgFile 待处理图片       * return       */       public static String imageToBase64Head(String imgFile){           //将图片文件转化为字节数组字符串并对其进行Base64编码处理           String type  imgFile.substring(imgFile.length()-3,imgFile.length());           //为编码添加头文件字符串           String head  data:image/type;base64,;                     return head  imageToBase64(imgFile);       }       /**       * 将图片转换成Base64编码       * param imgFile 待处理图片       * return       */       public static String imageToBase64(String imgFile){           //将图片文件转化为字节数组字符串并对其进行Base64编码处理                      //拿到上传图片后图片所在的项目中真实路径           String path  ServletActionContext.getServletContext().getRealPath(imgFile.substring(5, imgFile.length()));                InputStream in  null;           byte[] data  null;                      try            {              //读取图片字节数组               in  new FileInputStream(path);                       data  new byte[in.available()];               in.read(data);               in.close();           }            catch (IOException e)            {               e.printStackTrace();           }                      return new String(Base64.encodeBase64(data));       }                }  存入到CLOB字段后就是这样了
http://www.yutouwan.com/news/291328/

相关文章:

  • 华宁县住房和城乡建设局网站企业网站建设的重要性
  • 如何做网站吸引广告商dedecms网站版权信息
  • 58同城推广网站怎么做wordpress 加载次序
  • 网站 二级分类网站不收录
  • 如何搭建一个个人网站承德市建设工程交易中心网站
  • 有专门做房孑特卖的网站吗惠州品牌网站建设
  • 网站建设山东公司东营网站建设推广哪家好
  • 网站搭建课程标准logo免费自动生成器app
  • 企业网站做静态网站还是wordpress+单页模版
  • 苏州制作网站哪家好wordpress的静态页面保存在哪里
  • 建设官网的网站京东短网址在线生成
  • 怎么免费做网站不要域名东莞市建设公共交易中心网站
  • 北京网站建设流程wordpress自动接口
  • 全屏网站模板制作教程wordpress第三方登录插件
  • 网站建设通企业网站建设实验感想
  • 企业备案网站名称怎么填制作公众号的编辑器
  • 公司网站建设苏州劳伦做网站赚广告费好做吗
  • 登陆网站怎么做计算机网站建设论文范文
  • 商城网站建设流程单机多wordpress
  • asp网站发送邮件管理咨询公司名字
  • 外贸网站contactwordpress显示ip
  • 深圳微信商城网站设计公司ai可以用来做网站吗
  • 做网站应该做哪方面的淄博公益网站建设
  • 网站开发在无形资产中宁夏做网站的公司
  • 有创意的网站开发开发公司工程队营销的支持
  • 宁阳县住房和城乡建设局网站微信网站怎么做的好处
  • 电商网站的商品主图怎么优化网站源码关键词
  • 当当网网站建设响应式布局网站
  • 怎么开发一个网站深圳公司注册资金最低多少
  • 廊坊市网站百度权重什么意思