保存html内容到数据库

一、获取页面的html内容
//本例使用jquery
var htmlContent = $("html").html();
如果页面是放在iframe里的,如下用法
frameId是iframe元素的id,
var htmlContent = $(document.getElementById('frameId').contentWindow.document.body).parent().html();
由于以上获取到的是html元素的内容,"<html>" + htmlContent + "</html>"才是整个html页面的完整内容。

二、js发送html内容至java后台
var url = "...";
$.ajax({
          url: url,
          type : "post",
        data : {'data' : htmlContent},
          dataType: "json",
          success: function(data, textStatus, jqXHR){
              
          },
          error : function(jqXHR, textStatus, errorThrown){
              alert(jqXHR + "," + textStatus + "," + errorThrown);
          }
    });

三、保存html内容到数据库
//本例使用的是ORACLE数据库,以字节的形式保存到BLOB字段
//当然,根据实际情况需要,也可以保存到文件
final byte[] bytes = request.getParameter("data").getBytes();
String sql = "...";
    
jdbcTemplate.execute(sql, new AbstractLobCreatingPreparedStatementCallback(lobHandler){
    protected void setValues(PreparedStatement ps, LobCreator lobCreator)throws SQLException, DataAccessException {
        ps.setString(1, "");
        ps.setObject(2, "");
        ps.setString(3, "html内容");
        ps.setString(4, "xxx.html");
        lobCreator.setBlobAsBytes(ps, 5, bytes);//字节形式保存到BLOS字段
        ps.setObject(6, "");
        ps.setObject(7, "");
    }});

额外篇:数据库的html内容显示到页面,点击打开链接



版权声明:本文为jjavaboy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。