10分钟

任务 5 方式2-使用Typora插件自动上传图片

1.获取Typora插件

任务目的

经过上面的操作,Typora软件的配置工作已经完成,也通过COSBrowser实现了文件手动上传到COS的操作,但是每张图片都需要手动复制路径相对比较麻烦,此软件默认又没法自动将文件上传到腾讯云COS图床。如果希望完成自动上传的相应任务,还需配置相应的插件:typora-plugins-win-img

这一步的任务,主要是完成插件的获取工作。

任务步骤

获取插件文件夹主要有两种方式——1.通过浏览器下载;2.通过git命令下载。

下面以表格的形式,介绍两种下载方式的主要特点:

下载方式

通过浏览器下载

通过git命令下载

下载工具

浏览器

终端

操作界面

图形化界面

终端界面

准备账户

GitHub账户(非必需)

辅助软件

解压缩软件

git for Windows

新手操作难度

简单

困难

下面会依次针对两种下载方式进行介绍说明。

方式1:在浏览器中下载

如果你之前没有使用git命令的习惯,或是更习惯于图形化界面的操作,可以直接通过浏览器进行插件下载,这种方法需要额外安装解压缩软件对下载好的文件进行解压缩操作。

1.访问插件所在页面

访问插件项目地址:Thobian/typora-plugins-win-img

2.下载插件的Zip压缩包

点击右侧的按钮Clone or download,然后在弹出框中点击Download ZIP,下载此项目对应的zip压缩文件,浏览器会自动进行文件下载。

4-23 下载插件zip压缩包

注:通过此方式进行下载,会提示用户是否要注册GitHub账户,该提示信息可以忽视,不会影响文件下载。

3.对压缩包进行解压

下载好的文件为.zip格式,如果想要打开文件,需要先进行解压缩操作。

注:WinRAR、7-Zip等各种压缩软件均可实现解压缩操作。如果使用的是Windows10操作系统,可以直接双击进入文件,通过上方的“全部解压缩”按钮,对压缩文件进行文件提取操作。

解压好的文件目录展示如下:

4-24 展示插件目录

方式2:通过git命令下载

1.获取git(准备工作)

如果希望使用git命令进行下载,但本地没有安装git,可以访问 git官方网站 获取git软件。

下载完成后双击安装包文件,依据提示对git进行安装即可。

注:使用git命令下载需要具有终端的操作基础以及git的使用基础,对初学者具有一定的难度。 有git基础的学员可以考虑使用此方式下载,对于以前没有接触过git命令,或不熟悉git操作的学员,建议使用浏览器下载的方式获取插件。

2.使用git clone命令下载插件

打开终端(命令提示符、powershell 或其他 Windows 可用终端均可),手动进入一个准备下载插件的目录(建议使用空目录),使用git命令进行插件下载,下载命令如下:

git clone https://github.com/Thobian/typora-plugins-win-img.git

如果能够成功下载,可以看到类似下方的提示信息:

Cloning into 'typora-plugins-win-img'...
remote: Enumerating objects: 141, done.
remote: Counting objects: 100% (141/141), done.
remote: Compressing objects: 100% (107/107), done.
remote: Total 141 (delta 56), reused 73 (delta 21), pack-reused 0
Receiving objects: 100% (141/141), 378.14 KiB | 24.00 KiB/s, done.
Resolving deltas: 100% (56/56), done.

使用git命令下载后无需解压缩,直接进入对应目录即可。

下载完成的文件目录,与浏览器下载的文件解压缩后生成的目录完全相同。

2.Typora插件配置

任务目标

经过上一步的操作,已经成功完成了插件typora-plugins-win-img的获取。

在这一步里,将会具体介绍需要对Typora插件进行的配置,包括将插件迁移到软件目录、完成上传插件的导入,以及在执行上传功能的文件中,完成所需参数的配置。

任务步骤

1.拷贝插件到软件目录

在开始这一步的操作前,需要先清楚自己下载的插件目录,以及Typora软件所在目录,方便进行接下来的配置操作。

进入下载(并解压)后的文件目录,复制目录中的plugins目录,此目录对应自动上传的插件配置目录:

4-25 复制plugins目录

进入安装Typora软件的目录,将此目录粘贴到软件目录中的resources/app目录中:

4-26 在Typora软件目录中粘贴plugins目录

2.导入上传文件

编辑文件window.html,导入上传文件

使用任意IDE(集成开发环境)编辑器,打开window.html文件。

注意:文件对应格式为.html格式,不要直接双击打开文件,会以浏览器打开,无法进行任何操作。 可以通过 “右键-打开方式” ,选择任何可以编辑html文件的IDE打开文件。 如果没有安装IDE,也可以直接使用记事本打开,但代码内容没有高亮提示。

在打开的文件中进行搜索(在许多编辑软件中,默认的搜索快捷键为Ctrl+F),搜索下方代码:

<script src="./app/window/frame.js" defer="defer"></script>

搜索到结果后,在此代码后面粘贴以下代码:

<script src="./plugins/image/upload.js" defer="defer"></script>

注意:对于部分编辑器,直接复制上方代码,可能会存在斜杠/无法正常粘贴的问题。 为了避免出现以上问题影响实验结果,建议学员直接复制前面搜索到的结果<script src="./app/window/frame.js" defer="defer"></script>,粘贴一份到后面,再将里面的路径./app/window/frame.js修改为./plugins/image/upload.js;或是检查确认粘贴的代码与文档中展示的内容一致。一定要确保粘贴内容无误,否则将会影响后续的实验执行结果。

这一行代码的作用是导入插件中的upload.js文件,用以执行上传文件的功能。相关操作的截图展示如下:

4-27 导入上传的js文件

3.配置腾讯云COS图床

完成window.html文件的编辑后,保存文件。进入当前目录下的plugins/image/目录中,再次使用任意IDE或记事本打开文件upload.js

注意:文件对应格式为.js格式,不要直接双击打开文件,会提示错误信息。 可以通过“右键-打开方式”,选择任何可以编辑.js文件的IDE打开文件。 如果没有安装IDE,也可以直接使用记事本打开,但代码内容没有高亮提示。

进入文件,使用搜索命令(默认为Ctrl+F)搜索$.image.init,会返回两个匹配结果,找到位于底部的第二个$.image.init({}),在里面添加如下配置信息:

$.image.init({
    // 只有下面这里需要设置,上面不需要进行设置
    target:'tencent',
    tencent : {
        // 必须参数,如果你有自己的腾讯云COS改成自己的配置
        // Bucket获取:对象存储->存储桶列表(存储桶名称就是Bucket)
        Bucket: '<此处填写你的存储桶名>',
        // SecretId获取:访问控制->用户->用户列表->用户详情->API密钥
        SecretId: '<此处填写你的SecretId>',    # 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140# 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140
        // SecretKey获取:访问控制->用户->用户列表->用户详情->API密钥
        SecretKey: '<此处填写你的SecretKey>',  # 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140
        // Region获取:对象存储->存储桶列表(所属地域中的英文就是Region)
        Region: '<此处填写你的所属区域>',
        // Folder获取:对象存储->存储桶列表->存储桶文件夹
        Folder: '<此处填写你创建的文件夹名>',
        // 可选参数
        FileParallelLimit: 3,        // 控制文件上传并发数
        ChunkParallelLimit: 3,       // 控制单个文件下分片上传并发数
        ChunkSize: 1024 \* 1024,     // 控制分片大小,单位 B
        ProgressInterval: 1,         // 控制 onProgress 回调的间隔
        ChunkRetryTimes: 3,          // 控制文件切片后单片上传失败后重试次数
        UploadCheckContentMd5: true, // 上传过程计算 Content-MD5
    },
});
  • 关于存储桶相关信息(Bucket,Region,Folder)的获取,可以参考 任务1 存储桶创建及信息获取 中的 “获取存储信息” 一节。
  • 关于访问控制相关信息的获取,可以参考 任务2 子用户创建及密钥获取 中的 “获取子用户的密钥” 一节。
  • 可选参数对应上传过程的一些具体配置,如有配置修改的需要,可以填写并修改,否则无需填写。

至此Typora自动上传图片至腾讯云COS的功能已经实现。