用Typora,PicGo和OSS实现自动上传图片

news2024/9/21 11:09:09

前言:

以前写博客要发布到好些个平台,我是将图片一张张上传到每个平台,后来发现是真的麻烦,上传图片花的时间太多,极大的降低了我写文章的积极性。

后来改进为使用oss,把博客的图片都上传到oss上面。然后使用oss返回的图片url,这样我的文章里面的图片只上传了一次,最后把整篇文章的mardown复制到各个平台上,平台一般都会把markdown的文章中的img标签的图片上传到他们自己的服务器,然后把图片打上平台的水印,然后把原图片链接替换掉。这样图片值上传了一次,剩下平台上的图片都是平台解析markdown的图片url自己处理的,不需要我们在花时间去上传图片了。

写了一段时间,还是觉得上传一次都觉得是在浪费生命(科技是第一生产力,但是懒惰是第一需求力啊),于是又找了找,还有更加方便的方式吗?我直接截图就自动上传,不用我再传一遍的省力方式?

最后是使用typora+picgo+oss解决了问题。

简单说一下我尝试的其他方式的过程,首先我们用的编辑文章的编辑器要支持直接放截图,并且能上传截图,找了找发现以前用过的typora是完美的符合需求的编辑器,但是发现以前的版本比较低,去官网重新下载了最新版本,结果令我很意外的是以前免费的typora竟然收费了!看来这几年大家都越来越会搞钱了,不过这个编辑器确实还是比较好用的,还是应该支持下优秀的产品,经济水平不错的同学可以支持下,说来惭愧,我是用脚本白嫖的,手动狗头,别打我。写到这里,我突然想起刘强东说kindle在中国肯定做不下去,因为中国充斥着大量的盗版软件,他说的没错,kindle在22年6月30号停止了电子书的运营。或许免费使用,再对高级功能进行收费比较适合我国国情,免费使用用来提高产品的影响力和吸引用户,在对愿意支持收费的用户提供高级功能和收费的入口,这样应该就可以解决产品的盈利问题了。

稍微扯了扯题外话,继续聊自动上传图片的话题,我一开始想能不能直接用github,这样我连钱都不用花,岂不快哉!结果按照网上的教程尝试过后发现,如果不能掌握上网的正确方式,现在的情况是github都连不上,更不用说用github做图床了。然后想试下国内的gitee,结果试了半天发现gitee现在上了防盗链,如果其他人访问的话,没有gitee的域名图片肯定是无法访问的,这也走不通。

最后还是回到我之前的图床-oss,我买的好像是49块钱的,用了好几年也没收过其他的费用。然后使用picgo作为typora上传图片的工具,就搞定了,下面记录一下,搭建自动上传图片工具的过程。

搭建流程

1.先准备一个工具typora,和购买阿里云oss的服务

typora官网的下载地址
笔者这里使用的是typora1.4.8版本

2.设置typora,进入偏好设置

image-20230102164627305

3.选择【图像】的设置,插入图片选择上传图片。

设置如下,选择下面几个跟图片相关的配置:

image-20230102152039088

4.【上传服务器设定】,选择【PicGo(app)】

如果本地没有下载过PicGo,也可以直接点击上面的图中的【下载PicGo(app)】,会下载PicGo的应用。当前我们也可以不选择PicGo选择其他的插件,我是觉得PicGo有图形化界面比较好用,而且还可以脱离typora单独使用,还是国人写的,就选择了这个插件,下面放一下它的官网链接。

PicGo的官网

然后下载好PicGo之后,要在typora里面配置好PicGo的运行路径,像上面的图中那样,指定好运行的目录。

tips:这里稍微扯两句,如果不需要上传到云上,就把图片保存到本地,可以选择复制图片到当前的文件夹,或者下面两个复制到XXX文件夹。这样图片可以直接保存在本地,也很方便。

image-20230102164810848

5.oss相关配置(如果自己已经买好oss服务的同学可以忽略第5步)

这里分成两个步骤:

如果直接用自己的主账号的话,就直接前往5.5步。

如果为了更安全一点,创建一个RAM子账号专门来管理oss的事情,防止其他不必要的信息暴露,创建RAM子账号,就在这里继续往下看。

5.1 从右上角的下拉菜单里面点击【访问控制】

image-20230102172610021

5.2 在点击【身份管理】的【用户】,在点击右边的【创建用户】

image-20230102173136573

5.3 创建用户记得勾选【OpenApi调用访问】

这个是PicGo上传图片要用的

image-20230102173820775

5.4 记住要给设置的用户添加权限【AliyunOSSFulAccess】

这个权限给Ram用户一定要设置下,要不然没法使用oss的各种操作

image-20230102174319723

5.5 找到账号对应的key和Secret

复制好key和secret,后面要用
image-20230102201534323

5.6 创建Bucket

Bucket可以理解为创建一个放图片的空间,里面还可以在继续设置文件夹。

tips:要记住设置公共读,因为我们的图片是要让大家能在平台上传时能访问的。

另外解释一下:

【私有】就是上传和访问都是需要令牌的

【公共读】就是上传图片是需要令牌(appKey和secret),访问是大家都可以访问的

【公共读写】就是不管是谁,都可以上传和访问

image-20230102175605624

image-20230102145523507

5.7 可以给要存储图片的目录创建一个文件夹(可选,不创建也没有关系)

点击刚才创建好的Bucket,为了方便我们管理,右边选择新建目录,比如picture之类的。

6.配置PicGo

在【图床设置】里面选择【阿里云OSS】,填入之前复制的key和Secret,还有bucket,储存区域可以从bucket点开,【概况】里面可以看到,.aliyuncs.com之前的oss-cn-hangzhou就是。

image-20230102202108502

image-20230102195958205

7.验证下效果

使用截图工具随便截个图,粘贴到typora中,看到上传成功,就大功告成!

这篇文章里面的图片也全是用这个方式上传的,再也不用自己手动上传图片了,哈哈哈,节省了自己不少时间和精力,还是挺好的!
image-20230102202514623

参考资料:

1.Typora使用技巧之插入图片及图片上传
2.阿里云 OSS + PicGo 博客图床超详细配置教程!
3.Typora
4.PicGo
5.Typora详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA : ArrayList和数组的转换

一、ArrayList转换为数组 ArrayList提供public T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组,返回数组的运行时类型就是指定数组的运行时类型。 import java.util.ArrayList; import java.util.List; public class Test { public st…

戴尔笔记本电脑重装系统后进不了系统怎么办

​戴尔电脑是一款很棒的电脑品牌,不少小伙伴都在使用这个牌子的电脑。但有不少小伙伴在重装完系统之后却进不去,那么碰到这种情况应该怎么办呢?下面就和小编一起来看看戴尔笔记本电脑重装系统后进不了系统怎么办的吧。 工具/原料&#xff1a…

【设计模式】-创造篇-工厂方法

制造业是一个国家工业经济发展的重要支柱,而工厂则是其根基所在。程序设计中的工厂类往往是对对象构造、实例化、初始化过程的封装,而工厂方法(Factory Method)则可以升华为一种设计模式,它对工厂制造方法进行接口规范化,以允许子…

Vector - VT System - 板卡_VT7001

接上篇我们介绍完了背板VT8006和VT8012,今天我们来介绍下电源模块板卡VT7001,这个板卡是我们在不需要程控电源的时候依然能够实现精细化的电压、电流控制及检查的板卡,并且在脚本开发中无需考虑时延的一个模块。我们使用的大部分设备无论是继…

14---实现文件上传和下载(头像上传功能)

1、建Files表 接下来开始完成文件管理的内容,首先是数据库建Files表 DROP TABLE IF EXISTS file;CREATE TABLE file (id int(11) NOT NULL AUTO_INCREMENT COMMENT id,name varchar(255) DEFAULT NULL COMMENT 文件名称,type varchar(255) DEFAULT NULL COMMENT 文…

Detection of Individual Tree Crowns in Airborne Lidar Data

Abstract 激光扫描提供了一种收集林分信息的好方法。本文介绍了一种在落叶林和混合温带森林中的小足迹光检测和测距(激光雷达)数据中自动描绘单棵树的方法。在光栅化激光数据中,可能的树顶用局部最大值滤波器检测。之后,结合浇注…

【Bootstrap】基础知识和环境配置

目录 一、Bootstrap基础 1. 概念 2. 特点 3. 组成 3.1 基本结构 3.2 丰富的CSS样式库 3.3 布局组件 3.4 插件 二、bootstrap的环境配置 1. 在页面中引入本地文件 2. 使用CDN加速器 一、Bootstrap基础 1. 概念 Bootstrap是一个基于HTML、CSS和JavaScript语言编写的…

动手学习深度学习-《自动求导》

向量链式求导法则 标量链式法则: 扩展到向量: yyy是关于标量uuu的一个标量,x\bf{x}x是一个向量 yyy是关于向量u\bf{u}u的一个标量,x\bf{x}x是一个向量 y\bf{y}y是关于向量u\bf{u}u的一个向量,x\bf{x}x是一个向量…

Nginx+keepalived 实现高可用,防盗链及动静分离配置详解

一、Nginx Rewrite 规则 1. Nginx rewrite规则 Rewrite规则含义就是某个URL重写成特定的URL&#xff08;类似于Redirect&#xff09;&#xff0c;从某种意义上说为了美观或者对搜索引擎友好&#xff0c;提高收录量及排名等。 语法&#xff1a; rewrite <regex> <r…

Oracle11g彻底卸载教程(详细版)

目前项目结束,暂时不需要Oracle了,为清理电脑并便于后续重装,现记录彻底卸载的步骤如下: 1、按下“Windows”+“R”键,在运行窗中,输入compmgmt.msc,进入计算机管理------>服务,停止所有Oracle服务(对于状态为 正在进行 的服务,右键------>停止)。 2、在开始…

遗传算法解决旅行商问题(TSP)

遗传算法解决旅行商问题 作者&#xff1a;Cukor丘克环境&#xff1a;MatlabR202a vscode 问题描述 旅行商问题&#xff08;TSP&#xff09;. 一个商人欲从自己所在的城市出发&#xff0c;到若干个城市推销商品&#xff0c;然后回到其所在的城市。如何选择一条周游路线&…

SpringBoot3初体验 - 第457篇

历史文章&#xff08;文章累计450&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 5个月的精华&#xff1a;Spring/SpringB…

【JavaScript】多维数组及数组扁平化

文章目录【JavaScript】多维数组及数组扁平化一. 概念二. 数组扁平化方式一&#xff1a;使用flat()方法方式二&#xff1a;使用递归方式三&#xff1a;使用reduce()方式处理三. 对象数组的联合操作【JavaScript】多维数组及数组扁平化 一. 概念 (1) 一维数组&#xff1a;数组…

深度学习Week13-火灾温度预测(LSTM)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;第R2周&#xff1a;LSTM-火灾温度预测&#xff08;训练营内部可读&#xff09;&#x1f356; 作者&#xff1a;K同学啊任务说明&#xff1a;数据集中提供了火灾温度&…

c++知识点总结

文章目录1.引用2. 重载3. extern “C”4.构造函数5.析构函数6.类和对象7.面向对象模型8.继承9.多态10.函数模板11.类模板12.STL1.引用 不要返回局部变量的引用&#xff0c;调用函数执行后局部变量会销毁 2. 重载 是C多态的特性&#xff08;静态多态&#xff09;。同一个函数名代…

正点原子STM32(基于HAL库)

正点原子B站视频地址&#xff1a;https://www.bilibili.com/video/BV1bv4y1R7dp?p1&vd_sourcecc0e43b449de7e8663ca1f89dd5fea7d 目录单片机简介Cortex-M介绍初识STM32STM32命名规则STM32 选型STM32 设计数据手册最小系统IO 分配STM32启动过程分析启动模式启动文件分析启动…

基于彩色的图像分割

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类&#xff1a;基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数…

小程序03/ uni-app认识目录结构 、uni-app应用生命周期 和 生命周期钩子、uni-app页面生命周期 和 生命周期钩子

一.uni-app认识目录结构 二.uni-app应用生命周期 和 生命周期钩子 位置: uni-app 在App.vue中监听 在页面监听无效 说明: App.vue是uni-app的主组件 所有页面都是在App.vue 下进行切换的、是页面入口文件 但是App.vue 本身不是页面 这里不能编写视图元素 也就是没有<tmpl…

Git(一) - Git 概述

01_尚硅谷_Git_课程介绍_哔哩哔哩_bilibili Git 是一个免费的、开源的分布式版本控制系统&#xff0c;可以高效的处理从小型到大型的各种项目。 一、何为版本控制 版本控制是一种记录文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 版本控制其实最主要的是可以…

java 瑞吉外卖优化day2 Nginx

Nginx概述 下载与安装 可以到Nginx官方网站下载Nginx的安装包&#xff0c;地址为&#xff1a;https://nginx.org/en/download.html 安装过程&#xff1a; 1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 先yum install wget &#xff0c;…