Typora+PicGo+阿里云的方式上传博客时出现“外链图片转存失败”的解决办法

当我们使用Typora+PicGo+阿里云的方式,将在Typora上写的博客导入、复制到博客网站时,部分图片可能会出现下面这种情况:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3xt3RIT1-1692154574350)

检查发现,阿里云OSS的Bucket权限也是设置为公共读的,上传的图片也没有超过5M。类似的解决方法都尝试过还是没能解决问题。

如果你的URl中,图片的名称类似于“%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202023-08-16%20134509.png”这样的话,那么

你很可能是这个原因:图片名为中文

如果使用电脑自带的截图直接在剪切板粘贴的图片,那就不会出现上面的问题。

当然,你在这个截图工具中编辑图片后,再点击右上角的复制按钮,然后粘贴到Typora的图片也同样不会有中文名称。

比如像下面这样:

image-20230816134256588

image-20230816162342972

但实际上,Windows自带的截图工具的命名规则是:屏幕截图 +截图时的时间(年-月-日 时分秒)

例如:屏幕截图 2023-08-16 153546.png

所以,当我们使用其他方式将截图复制过来时,(除非你重命名)上传的图片名称都带有中文。能够正常上传oss,但是在博客网站(如CSND)时就会上传失败。

当我们使用WPS等工具给截图进行批注后,再将图片拖动,或复制粘贴到Typora上,图片可能就会因为名称带有中文而在博客网站上传失败。像下面这样:(下面这几张图名称中都含有中文,待会上传时肯定会出错)

image-20230816164725090

2023-08-16 163053

(刚刚查了一下,因为oss实际在解析文件名时,会先将传给oss的文件名按做中文字符转为 unicode 值,所以我们的URL路径中才会出现一堆%之类的)文章

现在,我把我的这篇文章复制到CSDN。

image-20230816171517870

不出所料,刚才名称中含有中文的那两张图片没有上传成功。

我们在阿里云的OSS管理界面可以看到,我们的图片时能够正常上传到OSS的,但是,问题在于,含有中文名称的图片的URL它会变为一堆乱码,导致我们将其复制到博客网站时无法上传。

顺口提一句:这里的URL虽然乱码,但是是仍然可以访问的,将其复制到浏览器搜索框中仍然可以正常下载图片

image-20230816165551456

image-20230816170125339

经过我的不完全统计,我所有含中文名称的图片URL都是一堆乱码,且无法直接上传到博客网站。下面说一说我的解决方法。

解决方法

方法一:手动重命名图片

如果你使用的是WPS,可以在编辑好图片后,将鼠标移动到左上角更改图片名称再保存图片。

其他工具也是类似,在复制之前将图片重命名为不含中文的名称。

image-20230816144837307

方法二:在PicGo设置中,打开“上传前重命名”

但这样做的缺点就是,上传每一张图片时都需要确认“文件改名”很麻烦。但如果你复制的每一张图片都是含中文名称的,这样做也挺好。

image-20230816145105063

image-20230816145158067

方法三:在Typora中重新上传图片

如果你已经将含有中文名称的图片复制到Typora了,那么有一个更加简单的方法,不许要你再将图片一张张的复制到博客网站。方法如下:

在Typora中找到含有中文名称的图片,右键,点击复制图片,然后再右键粘贴。图片就会重新上传,且这次上传的图片不含中文。

含有中文名称的图片URL中一般都会有%

image-20230816165249489

image-20230816165527173

image-20230816170029319

强烈建议在上传文件时,尽量避免使用中文或特殊字符作为文件名,以免出现不必要的问题。

刚把文章写完,复制过来的时候,就又一张图片上传失败了,不过还好换为富文本编辑器,再粘贴一次就OK了,吓我一跳。

刚开始写博客,有不足的地方还望指出。希望这篇文章能对你有帮助。

如果这篇文章解决了你的问题,希望点个点个赞收藏一下吧。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值