当前位置:   article > 正文

永久解决Gitee/Github上传的文件中的图片不显示问题_gitee上传.md文件,但是里面的图片显示不了

gitee上传.md文件,但是里面的图片显示不了

什么是图床

**图床**就是一个存储图片的服务器,常以URL的形式来供其他平台获取图片。说白了就是将图片存储在一个服务器上,在需要其中的一个或一些图片时通过HTTP请求或其他方式获取图片的信息。服务器的选择主要分为两种可以自己搭建,也可以使用别人搭建好后提供的服务。自己搭建肯定花钱,别人搭建给你提供服务,有的收费,有的一定范围内不收费,有的完全免费。

为啥需要图床

  • 在一定程度上可以缓解服务器压力,聚集性的访问请求会影响系统的性能,分散的访问请求一定程度上可以起到缓解作用。
  • 起到一定的安全作用,主服务器被攻破图床服务器上的信息不会直接受到影响。
  • 最主要的原因是访问速度,图片的加载在浏览器做渲染的比较耗时,如果服务器在国外加载的时间可能就会更长,影响体验效果。

图床选择方案

  1. 对象存储图床
    • 国外的有amazon s3 和google storage
    • 国内的有七牛云、又拍云、腾讯云、阿里云、天翼云等
  2. 第三方图床
    • sm.ms
      • 免费版存储容量5GB。
      • 每分钟限制上传20张,每小时限制上传100张,每天限制上传200张,每周限制上传500张,每月限制上传1000张。
      • 单张图片最大5M。
      • 不支持相册,找图片需要用搜索功能
    • imgchr
      • 免费版存储容量不限。
      • 每小时限制上传30张,每天限制上传次数为120次。
      • 单张图片最大10M。
      • 支持相册。仅限于非商用。
    • 聚合图床
      • 将图片分发到多处备份,借助其本身的CDN加速功能,节省服务器流量,并且不用担心图片被删除,即便其中某几个图床上的图片被删除了,还有其他备份,保证万无一失。
      • 支持匿名和注册管理。
      • 免费版无API支持,跳转链接无法保证永久有效,若链接失效需要您重新上传获取新链接。
      • 最多存1000张。
      • 单张图片大小5M。
      • 不支持相册。
  3. 云盘图床
    • 云盘一般都是文件系统存储,通过分享等方式获得上传图片的外链即可,但是获得的外链不能含有密码,有密码无法直接访问图片。
  4. 社交网站图床
  5. 云笔记图床
  6. 代码托管网站图床
  7. 自建图床
  8. 区块链存储图床
    • IPFS

图床工具

图床工具,就是自动把本地图片上传到图床并转换成链接的一款工具,网络上有很多图床工具。

  • PicGo:是比较出名的一款图床工具了,它的界面友好,支持的图床也多,还可以在本地对图片进行管理,支持拖拽上传,使用很方便。如果你有自己使用的图床,它是一款用 Electron-vue 开发的软件,目前v2.3版可以支持七牛图床,腾讯云COS,又拍云,GitHubSM.MS阿里云OSSImgur 等8种常用图床。
  • Mpic:如果你使用的图床是七牛云,那么Mpic这款软件推荐给你,软件很小,支持图片拖拽上传、截图上床,功能简单专一,支持多种链接复制,只是目前只支持七牛云。
  • ShareX:是一块功能强大的截图工具,从截图、处理截图(比如调整大小)到上传截图然后复制链接,一步到位。只不过ShareX的入门门槛比较高,需要进行相对复杂的设置,但是设置之后就可以起飞了。
  • fu:是一款简单的图片上传工具,可以将剪切板的图片直接上传,支持多种链接的复制,还可以自己配置图床,软件很简单。
  • quicker:和上面的软件们并不是同类,他是一款windows下的效率神器,它可以快速的打开你电脑上的任何软件、文件等,还可以帮你做很多机械重复的电脑操作,可以结合everything快速检索文件,可以结合snipaste进行图片处理,可以执行自定义的脚本,总之非常好用,他有丰富的动作库,可以使用现成的动作,如果库里面没有你也可以直接实现新的动作,非常灵活,比如本次要提到的图片上传图床就有现成的动作,叫做SM.MS图床。
  • vscode:如果你是用vscodemarkdown的,那么强烈推荐picgo插件,简直完美。

综上情况选择的方式为:Typora + PicGo + Gitee

开始安装

Typora安装

..........很简单,自己安装

PicGo安装

PicGo 编译好的.exe文件在GitHub上,所以可以在GitHub上直接下载,但是在GitHub上下载有一个最大的问题就是长城防火墙(下载的时候请扶墙)。

下载链接:PicGo-Setup-2.3.0-x64.exe

  • 直接傻瓜式安装(路径可以自己指定)安装之后打开主界面显示大致如下图所示。

在这里插入图片描述

Node.js安装

PicGo采用Electron-vue开发,虽然运行程序编译成了.exe可执行文件,但是其插件还是依赖于node.js环境,因此如果需要安装插件必须先安装node.js环境(gitee必须安装插件),若是程序自带的图床接口(SM.MS图床、腾讯云COS、GitHub图床、七牛图床、Imgur图床、阿里云OSS、又拍云)可不需要安装node.js。

下载链接:下载 | Node.js 中文网

在这里插入图片描述

  • 这里需要额外说明的是:如果您也使用Hexo,则需要注意Node.js的版本,因为有的Hexo主题对Node.js不同版本的兼容性不好,但Node.js版本最次也不能<8

工具使用

PicGo设置

配置文件

PicGo的配置信息保存在一个名为data.json的文件中,其中包含默认图床设置、所有支持图床信息、图床参数信息、快捷键设置信息、服务器设置信息、安装插件信息等,详细的json字符串内容如下所示。(#为json中的非法注释)

data.json文件位置:(写死的不可修改

  1. C:\Users\xx\AppData\Roaming\picgo\data.json

data.json文件内容:

  1. {
  2. "uploaded": [],
  3. # 图床信息
  4. "picBed": {
  5. # 当前显示图床为
  6. "current": "gitee",
  7. # 所有图床列表
  8. "list": [
  9. {
  10. "name": "SM.MS图床", # 图床显示的名称
  11. "type": "smms", # 图床类型,图床的唯一标识
  12. "visible": false # 是否在界面中显示图床
  13. },
  14. {
  15. "name": "腾讯云COS",
  16. "type": "tcyun",
  17. "visible": false
  18. },
  19. {
  20. "name": "GitHub图床",
  21. "type": "github",
  22. "visible": false
  23. },
  24. {
  25. "name": "七牛图床",
  26. "type": "qiniu",
  27. "visible": false
  28. },
  29. {
  30. "name": "Imgur图床",
  31. "type": "imgur",
  32. "visible": false
  33. },
  34. {
  35. "name": "阿里云OSS",
  36. "type": "aliyun",
  37. "visible": false
  38. },
  39. {
  40. "name": "又拍云图床",
  41. "type": "upyun",
  42. "visible": false
  43. },
  44. {
  45. "name": "Gitee图床",
  46. "type": "gitee",
  47. "visible": true
  48. }
  49. ],
  50. "gitee": {# gitee图床配置信息
  51. "message": "信息",
  52. "owner": "用户名",
  53. "path": "路径",
  54. "repo": "库名",
  55. "token": "toke值"
  56. },
  57. "uploader": "gitee", # 默认图床
  58. "proxy": "http://127.0.0.1:7890" # 上传代理
  59. },
  60. "settings": {
  61. "shortKey": { # 热键设置
  62. "picgo:upload": {# 上传快捷键设置信息
  63. "enable": true,
  64. "key": "CommandOrControl+Shift+P",
  65. "name": "upload",
  66. "label": "快捷上传"
  67. }
  68. },
  69. "server": { # 服务器设置信息,第三方调用picgo时会用到
  70. "port": 36677,
  71. "host": "127.0.0.1",
  72. "enable": true # 默认开启
  73. },
  74. # 其他设置
  75. "showUpdateTip": true, # 打开更新助手
  76. "uploadNotification": true, # 开启上传提示
  77. "rename": true, # 上传前重命名
  78. "checkBetaUpdate": false, # 接受Beta版本更新
  79. "pasteStyle": "Custom", # 自定义链接格式名称
  80. "customLink": "<center><img src=\"$url\" alt=\"$fileName\"/></center>", # 自定义链接内容
  81. "autoCopy": true, # 上传后自动复制URL
  82. "privacyEnsure": true, # 隐私保护
  83. "autoRename": true, # 时间戳重命名
  84. "logLevel": [ # 设置日志文件,没有设置则无该项
  85. "all"
  86. ],
  87. "autoStart": true, # 开机自启
  88. "miniWindowOntop": true, # Mini窗口置顶
  89. "proxy": "http://127.0.0.1:7890", # 插件安装代理
  90. "registry": "https://registry.npm.taobao.org/" # 插件镜像地址
  91. },
  92. "picgoPlugins": {# 下载的插件列表
  93. "picgo-plugin-gitee": true # 插件是否启用
  94. },
  95. "debug": true,
  96. "PICGO_ENV": "GUI",
  97. "needReload": false
  98. }

  • 上述配置文件中为了方便理解,用#号添加了部分注释,但这在json中是非法的,若想直接使用该配置文件,需要先将添加的注释信息删除。为什么是不用json中合法的注释呐?因为json不支持常见的注释,若使用键值对形式强行添加注释会影响到原文件的结构,所以没有必要生拉硬扯。

日志文件

PicGo支持日志记录,存在六种日志记录等级(All、Success、Error、Info、Warn、None),默认为似乎是All级别会在picgo.log文件中记录上传过程、上传结果、文件路径等信息,正常情况下这些日志信息的用处不大,但是当程序发生错误时,这些信息有助于定位报错原因,这对于一个软件来说,我觉得是非常友好的一点。

picgo.log文件位置:

  1. C:\Users\xx\AppData\Roaming\picgo\picgo.log

picgo.log文件内容:

  1. 2021-04-05 13:56:41 [PicGo INFO] [PicGo Server] is listening at 36677
  2. 2021-04-20 19:31:52 [PicGo INFO] [PicGo Server] is listening at 36677
  3. 2021-04-20 19:33:06 [PicGo SUCCESS] 插件安装成功
  4. 2021-04-20 19:46:40 [PicGo ERROR] Error: image not found in clipboard
  5. ------Error Stack Begin------
  6. Error: image not found in clipboard
  7. at PicGo.upload (D:\Soft\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\PicGo.js:132:27)
  8. at processTicksAndRejections (internal/process/task_queues.js:89:5)
  9. -------Error Stack End-------
  10. 2021-04-20 19:46:47 [PicGo INFO] Before transform
  11. 2021-04-20 19:46:47 [PicGo INFO] Transforming...
  12. 2021-04-20 19:46:47 [PicGo INFO] Before upload
  13. 2021-04-20 19:47:23 [PicGo INFO] Uploading...
  14. 2021-04-20 19:47:28 [PicGo SUCCESS]
  15. https://gitee.com/.../ChromeRCE漏洞复现.png # 敏感信息打个码

自定义链接格式

PicGo预置的有四种链接格式:MarkdownHTMLURLUBB,其得到的上传文件链接分别为:

Makdown:

![](https://i.loli.net/2021/09/14/KB3LimF5SGtI6vf.png)

HTML:

<img src="https://i.loli.net/2021/09/14/KB3LimF5SGtI6vf.png"/>

URL:

https://i.loli.net/2021/09/14/KB3LimF5SGtI6vf.png

UBB:

[IMG]https://i.loli.net/2021/09/14/KB3LimF5SGtI6vf.png[/IMG]

想要自定义链接格式,可以选择Custom,然后在PicGo设置里点击自定义链接格式,然后你可以配置自己想要的复制的链接格式。这里贴上我的设置

Custom:

<center><img src="$url" alt="$fileName"/></center>

得到链接:

<center><img src="https://i.loli.net/2021/09/14/KB3LimF5SGtI6vf.png" alt="PicGo主界面"/></center>

  • 为什么选择这种定义方式呐?
  • 因为Typora默认是将图片居中显示,但是在一些其他的Markdown编辑器中是默认靠左显示的,我更喜欢将图片居中显示,所以这里使用<center>标签来实现帮助我实现;
  • 另外一点是因为,我使用的blog使用的渲染方式会将alt属性值显示在图片下方,所以我这里选用<img>标签来自定以图片链接及alt值。

设置代理和镜像地址

PicGo的代理功能在2.3.0得到完善,但作者也表示该功能也仅限于此,不会再添加复杂的代理设置。

再2.3.0版本中支持三处代理设置:上传代理、插件安装代理、插件镜像地址。

  • 针对上传时候的代理请配置**「上传代理」**,这个使用国内图床的话一般用不到,若是上传国外图床可能需要设置此项。

  • 如果针对插件安装的代理请配置**「插件安装代理」**,下载的插件从npm官方源下载有时可能被墙,扶墙或者配置下一条设置为国内源。

  • 如果是针对插件安装时候的npm镜像源的设置,可以设置**「插件镜像地址」**,推荐使用淘宝源:

    1. # 软件作者推荐淘宝源,其实也有其他比较好用的源,可以自行搜索
    2. https://registry.npm.taobao.org/

    EG:

在这里插入图片描述

Server设置

2.2版本之后,PicGo内部会默认开启一个小型的服务器,用于配合其他应用来调用PicGo进行上传。监听的地址推荐就默认的 127.0.0.1 (本机),端口推荐默认的 36677。当然如果你不想要开启也可以选择关闭,只不过推荐你可以开启,可以配合一些第三方工具实现很方便的上传工作流。–来源:PicGo-Server设置

其意思就是开启该功能后,第三方工具(Typora默认支持的图床工具就是PicGo)可以通过PicGo直接将图片上传至图床中,若关闭该功能则第三方工具将无法调用PicGo上传图片。

EG:

在这里插入图片描述

我的设置

其他设置相对来说就比较简单,这里也不会花篇幅去进行一一讲解,这里大致说一下我的优选的配置,其他详细的配置说明可以在配置手册 | PicGo中查看。

  • 设置日志文件:ALL
  • 修改快捷键:禁用
  • 自定义链接格式:<center><img src="$url" alt="$fileName"/></center>
  • 插件镜像地址:https://registry.npm.taobao.org/
  • 设置Server:默认(我这里有使用Typora的习惯)
  • 打开更新助手:开
  • 接受Beta版本更新:关(不稳定
  • 开机自启:关(非必要程序,不必设置自启动
  • 上传前重命名:开(若是剪切板中图片建议开启,若是已经设置名称的图片可关闭
  • 开启上传提示:开(显示上传结果信息
  • Mini窗口指定:开(上传图片时非常方便
  • 上传后自动复制URL:开(一定要开
  • 选择显示的图床:Gitee(只在图床设置中显示我用到的图床,其他图床只是被隐藏起来并没有被删除

贴上我的配置文件:

  1. {
  2. "uploaded": [],
  3. "picBed": {
  4. "current": "gitee",
  5. "list": [
  6. {
  7. "name": "SM.MS图床",
  8. "type": "smms",
  9. "visible": false
  10. },
  11. {
  12. "name": "腾讯云COS",
  13. "type": "tcyun",
  14. "visible": false
  15. },
  16. {
  17. "name": "GitHub图床",
  18. "type": "github",
  19. "visible": false
  20. },
  21. {
  22. "name": "七牛图床",
  23. "type": "qiniu",
  24. "visible": false
  25. },
  26. {
  27. "name": "Imgur图床",
  28. "type": "imgur",
  29. "visible": false
  30. },
  31. {
  32. "name": "阿里云OSS",
  33. "type": "aliyun",
  34. "visible": false
  35. },
  36. {
  37. "name": "又拍云图床",
  38. "type": "upyun",
  39. "visible": false
  40. },
  41. {
  42. "name": "Gitee图床",
  43. "type": "gitee",
  44. "visible": true
  45. }
  46. ],
  47. "gitee": {
  48. "message": "picgo",
  49. "owner": "xx", # 替换
  50. "path": "Software/Windows/PicGo",
  51. "repo": "ImagesBed",
  52. "token": "xx" # 替换
  53. },
  54. "uploader": "gitee",
  55. "proxy": ""
  56. },
  57. "settings": {
  58. "shortKey": {
  59. "picgo:upload": {
  60. "enable": false,
  61. "key": "CommandOrControl+Shift+P",
  62. "name": "upload",
  63. "label": "快捷上传"
  64. }
  65. },
  66. "server": {
  67. "port": 36677,
  68. "host": "127.0.0.1",
  69. "enable": true
  70. },
  71. "showUpdateTip": true,
  72. "uploadNotification": true,
  73. "rename": true,
  74. "checkBetaUpdate": false,
  75. "pasteStyle": "Custom",
  76. "customLink": "<center><img src=\"$url\" alt=\"$fileName\"/></center>",
  77. "autoCopy": true,
  78. "privacyEnsure": true,
  79. "autoRename": true,
  80. "logLevel": [
  81. "all"
  82. ],
  83. "autoStart": false,
  84. "miniWindowOntop": true,
  85. "proxy": "",
  86. "registry": "https://registry.npm.taobao.org/"
  87. },
  88. "picgoPlugins": {
  89. "picgo-plugin-gitee": true
  90. },
  91. "debug": true,
  92. "PICGO_ENV": "GUI",
  93. "needReload": false
  94. }

插件设置

在插件设置界面中可以进行安装、更新、禁用、卸载、配置、启用插件等操作。

安装插件

在线安装

在插件界面的搜索栏搜索插件名。PicGo的插件名以picgo-plugin-为前缀,你只需要搜前缀后的名字即可。比如一个picgo-plugin-wow的插件你只需要搜索wow即可。

搜到了插件之后只要点击右下角的安装即可。如果遇到未对GUI优化的提示,可以询问一下插件作者,这个插件适不适合在PicGo软件上使用,否则它有可能只是个命令行插件。

在这里插入图片描述

  • 在线安装的插件默认在C:\Users\xx\AppData\Roaming\picgo\node_modules目录下

离线安装

支持导入本地插件(文件夹)。导入要求是一个完整的 picgo 插件文件夹。可用于离线安装picgo插件包或者插件开发者自测使用。可以在Awesome-PicGo中寻找插件并下载,导入插件的入口在 插件设置 页的标题栏右侧:

在这里插入图片描述

操作插件

点击插件图标右下角的齿轮图标可显示此插件的相关操作:启用插件、禁用插件、卸载插件、更新插件、配置插件等。

在这里插入图片描述

配置插件

对于一些安装的插件有一些默认的配置,但也支持自定义的配置,若是一个图床插件则可对图床进行详细的设置,下面就拿Gitee图床来说明一下。

在这里插入图片描述

  • 在码云上创建一个对应的项目用来存储图片,在设置→私人令牌中获取token(获取的token只以明文形式展示一次)

  • 其他图床设置请参考配置手册 | PicGo

图片上传

图片上传主要发生在上传区,在上传区支持多种方式上传图片:

  • 资源管理器中选择图片
  • 剪切板中图片
  • 图片URL
  • 拖拽图片(本地图片调用图片路径、网络图片调用URL
  • 多图片上传

上传区显示结果如下图所示:

在这里插入图片描述

上传图片转化的链接格式也在此界面中设置,默认有:MarkdownHTMLURLUBB四种,还支持自定义格式。

相册

在相册界面中支持对一个或多个图片进行复制、删除操作,并且支持对图片URL的修改,以及设置复制图片链接的格式,以上操作都非常简单这里不再赘述,详细的操作可参考:配置手册 | PicGo

  • 需要说明的是PicGo中删除文件的操作并不能删除远程图床中的图片,仅仅只能删除相册中显示的图片及信息,原因可查看picgo.log日志文件中

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/193915
推荐阅读
相关标签
  

闽ICP备14008679号