renmu123 / obsidian-image-auto-upload-plugin

auto upload image with picgo
MIT License
328 stars 34 forks source link

关于uploadallimages没有反应的问题建议 #32

Closed johnsonsuqs closed 2 years ago

johnsonsuqs commented 2 years ago

我研究源程序发现上传图片没有反应的主要的问题是:你在下面的语句中增加父地址,所以只能上传相对链接的地址,而你获取失败没有什么报警,所以让使用者不知所以。 image 你可以增加一个includes判断是否有父地址来决定是否增加,如果已经有父地址就不用额外增加,这样就可以上传绝对地址的图片。当然你可以写得更严谨一点,用‘\’拆分地址取首位字符来判断。

另外可以增加一个正则 来判断是否wiki链接,这样就可以上传wiki链接的图片,测试过一页面有三个不同类型的地址都可以上传。 另外我还发现一个有意思的事情,就是http地址图片用接口好象也能上传,因为我用quicker脚本实现了这个功能,所以就没有插件测试,你有兴趣可以测试一下,这样所有图片都可以上传了。

另外我觉得如果出现异常应该有提示,如果以上几种情况都没有获取地址可以做一个提示。我已经在你的程序基础上实现以上功能,结果发到B站上了,不过我写得还是很匆忙,所以不够严谨,所以思路供参考。 https://www.bilibili.com/video/BV1xA4y1S7Ny/

renmu123 commented 2 years ago

欢迎提交PR!

Lunar-W commented 2 years ago

求改过的插件 @johnsonsuqs

allworldg commented 2 years ago

@johnsonsuqs 你好,我尝试使用以下代码来判断 是否包含父路径,可是如果图片用完整路径,同时也不包含父路径,这样拼接仍然会添加无效父路径,请问如何解决呢?

var temp = encodedUri.includes(thisPath.parent.path)==true
?path.posix.resolve(path.posix.join("/"))
:path.posix.resolve(path.posix.join("/",thisPath.parent.path));
const abstractImageFile = decodeURI(path.join(basePath, temp, encodedUri));
renmu123 commented 2 years ago

目前支持的路径:

  1. md 标准语法
  2. wiki 语法

目前支持的内部链接类型:

  1. 基于当前笔记的相对路径
  2. 基于库的绝对路径
renmu123 commented 2 years ago

2.1.0已经进行处理