同步到七牛时,需要同时上传子目录中 文件并特殊处理文件名

因为七牛空间没有子目录的概念,导致复制文章为公众号格式时无法将子目录中的图片复制出去。

示意本地目录结构为:

~/blog/

本地的图片存放路径为:

~/blog/images/2020-02-25/1.png

同步到七牛时,这些图片因为在子目录中所以不会被上传,导致黏贴到微信中时,域名+/images/2020-02-25/1.png 这个拼接的url是找不到对应的文件的。

期望的是:

本地~/blog/images/2020-02-25/1.png这个文件在上传七牛时,变成一个文件名为:

“/images/2020-02-25/1.png”的文件

关于七牛的子目录问题可以参考:

2020-02-27 00:46 from 蔡润强
Comments
Write a Comment
  • Hepochen reply

    @蔡润强 不是这个问题, Senior 版本在粘贴为微信格式的时候,会将整个 (整个)目录同步到七牛 (如果配置了)。

    如果从未同步过,可能要等全部同步完成,图片URL才能真正存在;反之,则是增量同步。

    也可以自己手工在菜单栏上 『重置同步』,这样后续会触发完全的一次再同步。也可以自己看同步记录,对应的图片是否已经同步到七牛上了。

    • Cairunqiang reply

      @Hepochen 感谢回复。基于上述解释我又排查了下,发现确实是会处理子目录的。

      我这边遇到的问题是,因为是标准的hexo目录,原始图片路径是与文本平级的。

      图片目录: ~/blog/source/image/

      文档目录:~/blog/source/_posts/

      但是为了能正常在markeditor中编辑和管理(因为markeditor中的工作目录为_posts),我在文档目录下添加了一个softlink指向原始图片路径。

      ~/blog/source/_posts/image -> ../image

      然而在云同步的时候,这个softlink被跳过了,所以图片目录是未同步的。

      基于这个问题有什么最佳实践么?

      • Hepochen reply

        @Cairunqiang 如果是早期的 MacOS,可以做 hardlink。

        同时要做到 hexo 以及 七牛同步后自动替换 URL,抱歉,想不到什么办法……

        ME 的根目录设置,是可以设定 图片的默认存储路径,以及插图的语法。