zoukankan      html  css  js  c++  java
  • MD文件图片base64自动编码

    看工具链接请直接将文章拉到最后..

    概述

    不知道你在使用markdown写文章的时候有没有遇到过这样的烦恼, 文件写完了, 想将写完的文章粘贴到博客的时候, 你满心欢喜的复制粘贴, 但是发现图片根本复制不过去, 是不是很难受, 尤其对于我这种使用markdown写文章, 写完后想把文章发表到多个平台的人来说(毕竟是自己辛辛苦苦写的, 总希望更多的人能看到嘛), 着实麻烦.

    那么, 针对这种情况, 有没有什么解决办法呢? 解决办法如下:

    1. markdown文件中的图片使用在线地址
    2. 将markdown文件中的图片进行base64编码

    先来看看第一种解决办法, 将图片使用在线地址固然可以解决问题, 而且现在很多markdown文件都支持已将将图片进行上传, 但是这个解决办法在我看来有一个问题, 万一那天服务器不能用了, 那 之前辛辛苦苦的各种文章都失去配图了

    对于第二种办法, 我觉得挺好, 直接将图片写入到markdown文件中, 给别人发送的时候也不用连着图片的文件夹一起发送了

    原来在markdown文件中插入图片, 格式如下:

    ![图片](url)
    

    如果使用图片的base64编码, 如下:

    ![图片](data:image/png,base64,iGmCV...)
    ![图片][id]
    [id]:data:image/png,base64,iGmCV...
    

    对图片进行base64编码的话, 其实有很多在线的网站可以做到, 但是每一次手动去做这个操作, 还能不能让我好好写文章了, 作为一个程序员, 这怎么能容忍.

    到网站搜一下, 有没有能够将markdown文件中的图片一键进行base64编码的工具, 抱歉, 没有找到, 那怎么办呢? 自己写一个呗!

    流程分析

    其实整体流程还是很简单的:

    1. 分解出文章中的图片
    2. 对图片进行base64编码
    3. 将编码后的字符串替换文章中图片的url

    但是, 我又发现一个新的问题, 图片base64编码后的字符串很长, 所以就需要进行图片的压缩, 那就再1-2步骤中间再加一个图片压缩的流程.

    程序介绍

    本程序允许自行扩充图片的压缩方法, 目前仅支持一种方法, 调用tinypng的接口, 若要使用, 请再文件中的key替换成自己的

    当然, 也可以添加自己压缩图片的方法

    不写也可以, 会直接对原图片进行编码, 可能字符串会有点长, 嘿嘿

    程序链接:

    1. 码云: https://gitee.com/hujingnb/markdownImage

    烟草的香味/markdownImage

    若使用过程中遇到问题或新的需求, 可以给我留言, 或者你直接改也可以.

  • 相关阅读:
    .net Monitor产生SynchronizationLockException异常的原因
    .net 表达式返回值和等号赋值的区别
    .net core WebApi Interlocked配合ManualResetEventSlim实现并发同步
    .net core 使用log4net日志组件
    .net core Kestrel宿主服务器自定义监听端口配置
    .net core IIS/Kestrel上传大文件的解决方法
    .net 在同步方法中使用拉姆达表达式执行async/await异步操作
    ASP.NET MVC ValidationAttribute 服务器端自定义验证
    自定义TempData跨平台思路
    ValueProvider核心的值提供系统
  • 原文地址:https://www.cnblogs.com/hujingnb/p/10890624.html
Copyright © 2011-2022 走看看