CSDN复制markdown图片上传问题的解决方案

Posted by Zephyr on Friday, May 24, 2024

前言

事情的起因是学校要求将大作业的文档必须上传至csdn(自媒体)上。笔者曾经也为CSDN直接复制.docx或者markdown文件而无法上传图片只能一个一个复制的问题所困扰,不过经验分享乃为爱发电之事,动机不强,今面临结课要求不得不重新考虑此事。

在笔者耗费近乎一个下午及一个晚上终于熬完自己的文档后,筋疲力尽,将word转换为markdown并保存后又见此光景: 在这里插入图片描述 如此多的图片一个一个复制,笔者光想此事便顿感无力,甚至十分恼火,但抱怨是没有用的,总要解决。

稍作调整后,开始着手研究上传图片的问题,笔者找到了几种可行的方案

  • 如果图片比较少,可以直接人工复制
  • 转换为markdown上传 考虑到学校的其他同学乃至社会人士也有同样共性之问题,解决此问题即可有效提高生产力,故记录笔者解决问题之经验如下:

问题成因

我们知道,markdown的图片是一个链接,类似这样 在这里插入图片描述 直接复制不会被自动上传。于是考虑使用博客园进行上传,笔者知道博客园可以允许MetaWeblog从本地直接上传markdown文件,于是就可以借助博客园将图片链接挂载,然后在csdn处直接reference即可解引用。

解决过程

笔者未曾拥有cnblogs账号,直接注册即可,不在赘述。

前期准备

cnblogs需要手动申请开通博客,审核速度较快。 申请后可以拿到自己的博客主页https://www.cnblogs.com/zephyr369 然后在自己的博客设置中 在这里插入图片描述 进入到博客设置,然后一直下拉到最下 在这里插入图片描述 勾选选项,记录自己的用户名,然后获取一个token

然后开始着手转换,我们可以使用pandoc来转换markdown文件 pandoc官网 若您觉得繁琐,不妨直接打开一个md文件,笔者使用的是typora,然后直接将word的文件复制到markdown中即可。 然后配置markdown的图片保存,以typora为例,进入到偏好设置中按照下图进行设置 在这里插入图片描述 这样markdown中的图片就会保存在assets文件夹下。

将markdown文件上传

笔者找到了两种方案

dotnet --info

验证安装成功 随即

dotnet tool install --global dotnet-cnblog

安装dotnet-cnblog 然后dotnet-cnblog 配置个人账号信息 在这里插入图片描述 这里需要注意的是

  1. 博客id,在自己的博客url中找,笔者的是https://www.cnblogs.com/zephyr369 故笔者的id是zephyr369
  2. 用户名,是自己的登录用户名.
  3. 密码,密码是自己刚才在博客设置中领到的token

填写无误后方可上传markdown文件 首先cd到自己的markdown目录下 然后输入dotnet-cnblog.exe proc -f ".\您的文件.md" 上传成功后会在同一目录下生成一个新的markdown文件xx-cnblog.md 查看内容 在这里插入图片描述 发现图片上传成功,于是可以将内容直接复制到csdn中,正常展示发布即可。

后记

pycnblog中的yaml配置中的密码,也许应该也是token,笔者未经验证,只想抓紧完成任务而休息,若您成功用pycnblog解决,那真是极好 笔者曾经在最初尝试过更换dns,改校园网为个人热点,均无改善,同校同学可避免尝试此方法。 注:使用付费的图床也可以,但是及其不推荐使用免费图床,稳定性与安全性都不能得到保障,而且CSDN会封号。