【将md文件中的本地图片批量上传】

本文介绍了一个将Markdown文件中本地图片批量上传到阿里云OSS的Python代码,通过读取.md文件,替换图片链接并实际上传,适用于需要云端同步笔记的情况。

将md文件中的本地图片批量上传

1.前言

之前在学校一直记笔记都是直接写mark down文件存储在本地,笔记中的图片基本上都是直接复制进去,而使用的md编辑器typora也是默认图片存储在本地,由于基本上也只用自己电脑,也没有啥写博客的习惯,所以并没有使用图床之类的东西,但后来遇到不使用自己电脑但需要看笔记的场景,就开始考虑将笔记存储到云端了

我开始准备存储到语雀知识库上,但发现导入的md文件图片需要自己上传或者复制到网站对应编辑器处,如果图片很多的话就十分麻烦,于是打算写个代码将md文件中图片上传,代码在下面,因为我目前习惯将本地md文件本地图片存储一份,所以并没有使用picGo之类的,结合typora直接设置为复制时上传图片,这样没网的时候也能看

2.代码

该代码只是将文件中的本地md文件将图片链接上传并更换在同目录下输出转换后的文件,在原文件名的基础上增加"-uplaod后缀",且我使用的是阿里云oss存储,若不会使用oss,只需要简单看一下教程将我代码中的upload函数对应oss的endpoint accessKey等改为自己的即可,若要进行批量文件的上传,或者图片格式与我本地的图片默认格式不同等不同处等,可自行做对应修改

我的本地图片格式
![image-20231204102925247](D:\desktop\tmp.assets\image-20231204102925247.png)

	public static void main(String[] args) throws Exception{
   
   
	        //todo 自行更改md文件路径
	        trans("D:\\desktop\\tmp.md");
	    }

    public static String upload(String path, String fileName) {
   
   
    	//todo 使用自己oss配置
        String endpoint = "oss-cn-beijing.aliyuncs.com";
        String accessKeyId = "xxxxxxxxxxxx";
        String accessKeySecret = "xxxxxxxxxxxxxx";
        String bucketName = "xxxxxxxxxxx";
        
        String url = null;
        OSS oss = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        try {
   
   
            PutObjectResult result = oss.putObject(bucketName, fileName, new FileInputStream(path));
            url = String.format("https://%s.%s/%s", bucketName, endpoint, fileName);
        } 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值