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

百度做网站上海搜索seo

百度做网站,上海搜索seo,wordpress 政府,wordpress 安卓Typora导出html文件图片自动转换成base64 一、出现问题二、解决方案三、编码实现3.1.创建Java项目3.2.代码3.3.打包成Jar包 四、如何使用endl 一、出现问题 typora 导出 html 的时候必须带有原图片,不方便交流学习,文件太多显得冗余,只有将图…

Typora导出html文件图片自动转换成base64

  • 一、出现问题
  • 二、解决方案
  • 三、编码实现
    • 3.1.创建Java项目
    • 3.2.代码
    • 3.3.打包成Jar包
  • 四、如何使用
  • endl

一、出现问题

typora 导出 html 的时候必须带有原图片,不方便交流学习,文件太多显得冗余,只有将图片转化为base64格式,一个html文件。

本文档下载链接:https://www.lanzv.com/i0XYv1myf3ne 密码:bay7
Jar包下载:https://www.lanzv.com/iekaA1myf3ja 密码:444r
Java代码下载:https://www.lanzv.com/iPon51myf3kb 密码:a1y5
typora最新版本及激活码:https://www.lanzv.com/b05evh1aj 密码:3jaa

二、解决方案

  • 编写代码,将图片转换成base64格式
  • 打包成可执行的jar包
  • 电脑需要是jdk 环境
  • 执行jar包,原来的图片转换成base64格式
  • 导出成一个html文件【文件可能比较大】

三、编码实现

3.1.创建Java项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.代码

本文档下载链接:https://www.lanzv.com/i0XYv1myf3ne 密码:bay7
Jar包下载:https://www.lanzv.com/iekaA1myf3ja 密码:444r
Java代码下载:https://www.lanzv.com/iPon51myf3kb 密码:a1y5

package com.xiaoxiao.util;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Base64;public class TyporaImageToBase64 {/*** @param src img src 内容* @param end 下次查找字符串起始位置* @return java.lang.String* @throws* @description 递归执行查找同一行字符串多个 img 标签*/public static String execute(String src, int end) {String result = matchImg(src, end);if (result.isEmpty()) {return src;} else {String[] split = result.split(",");String s1 = fileToBase64(split[0]);if (s1.isEmpty()) {return src;} else {String replace = src.replace(split[0], s1);return execute(replace, Integer.valueOf(split[1]) + 20);}}}/*** @param str 原始字符串* @return java.lang.String* @Description 匹配 img src 内容**/public static String matchImg(String str, int start) {int img = str.indexOf("<img", start); // 起始位置if (img == -1) {return "";}int l = str.indexOf("\"", img) + 1; // src 左侧 双引号int r = str.indexOf("\"", l); // src 右侧 双引号String substring = str.substring(l, r);if (substring.startsWith("data")) { // 跳过已经 base64 编码的文件 和 http 地址return matchImg(str, r);}return substring + "," + r; // src 地址 返回 src 内容以及最后的位置 使用逗号拼接}/*** @param path 文件路径* @return java.lang.String* @Description 文件转 base64**/public static String fileToBase64(String path) {File file = new File(path);if (!file.exists()) {System.err.printf("File not exist!");return "";}byte bytes[] = null;try (FileInputStream fileInputStream = new FileInputStream(path);) {bytes = new byte[fileInputStream.available()];fileInputStream.read(bytes);} catch (Exception e) {e.printStackTrace();System.err.println("Image convert base64 fail!");}// 文件后缀处理String suffix = getSuffix(path);return "data:image/" + suffix + ";base64," + Base64.getEncoder().encodeToString(bytes);}/*** @param str* @return java.lang.String* @throws* @description 获取文件后缀*/public static String getSuffix(String str) {return str.substring(str.lastIndexOf(".") + 1);}// 主方法public static void main(String[] args) {// 获取文件路径if (args.length == 0) {System.out.println("No parameters passed");return;}String arg = args[0];// 获取文件后缀String suffix = getSuffix(arg);File srcFile = new File(arg);File outFile = new File(arg.replace("." + suffix, "").concat("-base64.").concat(suffix));try (BufferedReader bfr = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile), StandardCharsets.UTF_8));BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),StandardCharsets.UTF_8))) {String len = "";while ((len = bfr.readLine()) != null) {String result = "";if (len.indexOf("<img") != -1) {result = execute(len, 0);}if (result.equals("")) {bfw.write(len);} else {bfw.write(result);}}//必须关闭IO流,否则无法操作文件bfr.close();bfw.close();//成功,删除转换成功的源文件boolean resultDelete = srcFile.delete();System.out.println("Sorce file delete finish, " + resultDelete);boolean reultRename = outFile.renameTo(srcFile);System.out.println("Out file rename finish, " + reultRename);System.out.println("File convert success!");} catch (Exception e) {e.printStackTrace();System.out.println("error");System.out.println("File convert fail!");}}
}

3.3.打包成Jar包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、如何使用

找到自己的jar包路径

java -jar 【TyporaImageToBase64.jar路径】 "${outputPath}"java -jar D:\JAVA\Typora\TyporaImageToBase64.jar "${outputPath}"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

endl

http://www.mnyf.cn/news/45475.html

相关文章:

  • 青岛开发区网站制作网站百度收录突然消失了
  • 网站策划名词解释信息流优化师是干什么的
  • 大连门户网站开发专业网站建设公司首选
  • 微商城开发需要多少钱莆田百度快照优化
  • 仙桃做网站的公司有哪些安卓优化大师2023
  • 网站怎么做盈利宁波seo网络推广推荐
  • 网站做跳转教程如何推广自己的业务
  • 中航建设集团有限公司网站网络营销方案范文
  • 网站 会员系统 织梦产品推广ppt
  • 换模板搭建网站怎么做做网站哪个公司最好
  • 某互联网公司触屏网站郑州网络推广软件
  • 营销策划方案网站排名优化课程
  • 易营宝智能建站做网页设计的软件
  • 上海虹口网站制作百姓网
  • WordPress资讯站点源码免费网站推广网站破解版
  • 网站建设企业网站制作网站推广优化设计方案
  • 嘉善网站制作上海seo服务
  • 深圳企业网站建设服务搜索引擎优化技术都有哪些
  • 建设网站成本网站seo方法
  • 织梦搬家 网站空白张文宏说上海可能是疫情爆发
  • 网页入口网站推广seo方案书案例
  • 微网站特效友链交换不限内容
  • 营销型网站的基础建设网络项目推广平台
  • 梅州网站建设百度查找相似图片
  • chrome打开建设银行网站 个人网上银行怎么不能查询明细做网络推广一般是什么专业
  • 阳城做网站关键词优化步骤简短
  • 淮安市交通建设局网站做一个微信小程序需要多少钱
  • 有没有帮人做CAD的网站网络营销以什么为中心
  • 式网站网络软件开发
  • 企业网上年检在网站怎么做天津债务优化公司