个人图床的最简单制作-腾讯云COS
最终实现效果
在图片上右键上传,自动生成
图片URL
到剪切板中,任意地方Ctrl+v
均可粘贴在文件上右键上传,自动生成
图片URL
到剪切板中,任意地方Ctrl+v
均可粘贴
准备工作
COS
对象存储(Cloud Object Storage,COS)
我们需要一个空间,用于存放图片或者文件,这里推荐使用腾讯云或者七牛云
他们提供的免费额度足够普通用户使用了
腾讯云的免费额度
资源类型 | 资源子类型 | 每月免费额度 |
---|---|---|
存储空间 | 存储空间 | 50 GB |
流量 | 外网下行流量 | 10 GB |
流量 | 腾讯云 CDN 回源流量 | 10 GB |
请求 | 读请求 | 100 万次 |
请求 | 写请求 | 100 万次 |
本地环境
这里以腾讯云接口为例,本地需要nodejs
运行环境
nodejs
腾讯云SDK
环境变量配置
在
windows环境变量
中增加一项NODE_PATH
,最好同时指向2处,例如:C:\Users\ZNMLR\node_modules
和C:\Users\ZNMLR\AppData\Roaming\npm\node_modules
最少指向一处前者对应npm的本地安装,后者对应npm的全局安装
使用
bat+js
打开注册表编辑器
WIN+R
调用运行库,输入regedit
,会打开注册表编辑器
找到计算机\HKEY_CLASSES_ROOT\*\shell
- 新建项
上传腾讯云
,在此项下再次新建项command
,并修改右侧默认值cmd.exe /K "C:\yunCos\1.bat "%1""
在C盘根目录建文件夹:yunCos,新建1.bat,内容如下
@echo off node C:\yunCos\yunCos.js %1% exit
新建 yunCos.js文件,内容暂空
安装腾讯云SDK
安装运行环境 node.js
这个没什么好说的,双击下一步就好了
安装sdk
npm i cos-nodejs-sdk-v5 --save -g
- 再次安装SDK
不要问我为何有这一步,腾讯云文档这样写的
先下载腾讯云SDK,解压,进入到解压后的目录里执行命令
D:\cos-nodejs-sdk-v5-master>npm install -g
获取腾讯云上传鉴权码
请到腾讯云注册账号并实名认证,
新建存储桶
获取APPID、SecretId、SecretKey、存储桶名称、所属地域
以上步骤请自行阅读腾讯云文档,这里不做说明
编写上传脚本
官方示例
// 引入模块
var COS = require('cos-nodejs-sdk-v5');
// 创建实例
var cos = new COS({AppId: '1250000000', // 修改为自己的appidSecretId: 'AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // 修改为自己的SecretIdSecretKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', // 修改为自己的SecretKey
});
// 分片上传
cos.sliceUploadFile({Bucket: 'test', // 修改为自己的存储桶名称,由英文、数字和标点符号组成Region: 'ap-guangzhou', // 修改为自己的所属地域,应该是纯英文的部分Key: '1.zip', // 这个是远端的地址FilePath: './1.zip' // 这个是本地地址
}, function (err, data) {console.log(err, data);
});
修改后
var picsuffix=new Array(".jpg", ".png", ".bmp", ".jpeg");
function contains(arr, obj) {var i = arr.length;while (i--) {if (arr[i] === obj) {return true;}}return false;
}var filepath=process.argv.splice(2).toString();
var filename = filepath.substring(filepath.lastIndexOf("\\")+1);
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
var urlkey=year+"/"+(month<10?'0'+month:month)+"/"+filename;
var suffix=filename.substring(filename.lastIndexOf("."), filename.length);// 引入模块
var COS = require('cos-nodejs-sdk-v5');
// 创建实例
var cos = new COS({AppId: '*', // 修改为自己的appidSecretId: '*',// 修改为自己的SecretIdSecretKey: '*',// 修改为自己的SecretKey
});
// 分片上传
cos.sliceUploadFile({Bucket: '*',// 修改为自己的存储桶名称,由英文、数字和标点符号组成Region: 'ap-guangzhou',// 修改为自己的所属地域,应该是纯英文的部分Key: urlkey,FilePath: filepath
}, function (err, data) {if(err){console.log(err);}else{console.log(data);const util = require('util');var url='';if (contains(picsuffix, suffix)) {url='![](https://'+data.Location+')';//这里返回的url是md格式,需要可自行更改}else {url='[](https://'+data.Location+')';//这里返回的url是md格式,需要可自行更改}require('child_process').spawn('clip').stdin.end(url);}
});
关联bat与上传脚本
打开刚才建的yunCos.js,将上面内容复制进去,并修改相关内容,保存
在任意文件上点击右键,选择 上传腾讯云 会有脚本框一闪而过,找个文本框粘贴下,就得到你想要的URL+
原文链接 blog.znmlr.cn
个人博客 hfanss.com
个人图床的最简单制作-腾讯云COS相关推荐
- 使用腾讯云cos搭建webp私有图床
准备工具 准备一个图床工具,推荐本人使用的开源免费工具:uPic 该工具可以直接在github上下载,访问地址:https://github.com/gee1k/uPic 购买腾讯云cos对象存储服务 ...
- 用腾讯云COS制作个人图床
文章目录 用腾讯云COS制作个人图床 最终实现效果 准备工作 COS 本地环境 安装node.js 安装腾讯云SDK 环境变量配置 腾讯云上的设置 设置并编写脚本 用腾讯云COS制作个人图床 最终实现 ...
- STemWin专题--图形化窗口的简单制作
STemWin图形化界面设计专题 STemWin专题–图形化窗口的简单制作 1.首先,你需要设置一个窗口,窗口设计的软件在KEIL(MDK)的安装目录路径下. 我的是这个路径,每个版本安装目录都大同小 ...
- Typora+PicGo-Core+腾讯云COS 图床配置教程
typora+PicGo-Core+腾讯云COS 图床配置教程 前言: 1.typora+PicGo-Core+腾讯云COS 图床 分别是什么.为什么把他们组合在一起? typoa是一个能做Markd ...
- (Ⅲ)使用七牛云作为图床获取外链方式总结(已更换为使用PicGO+腾讯云COS)
1. 图床的选择 (1) 什么是图床? 很多技术人写作都有在用 Markdown 轻量级标记语言进行博客写作,这种写作让我们不用像使用 Word 那么麻烦调整排版和格式,而只需专心写作照样完成排版的一 ...
- (Ⅲ)使用七牛云作为图床获取外链方式总结(已更换为使用PicGO+腾讯云COS)...
1. 图床的选择 (1) 什么是图床? 很多技术人写作都有在用 Markdown 轻量级标记语言进行博客写作,这种写作让我们不用像使用 Word 那么麻烦调整排版和格式,而只需专心写作照样完成排版的一 ...
- Typora+PicGo+腾讯云COS图床搭建
前言 之前用的也是Gitee搭建的图床,用了一段时间,挺方便的.昨天开始G了.没办法只能再搭建一个,本着白嫖的想法,看看有没有啥可以白嫖的,也试了一下Github的图床(Github+jsDeli ...
- typora安装PicGo+配置腾讯云COS图床
第一步下载picGo 在文件>>偏好设置>>图像里找到上传服务,然后选择PicGo(app) 然后就会发现页面多了个下载PicGo的按钮,点击按钮就能到官方下载页面了 下载后安 ...
- 手把手教你Typora图床配置(PicGo+阿里云OSS/腾讯云COS)
本文目录 ❤️Typora + PicGo +阿里云OSS图床 / 腾讯云COS图床配置思路❤️ ✨安装PicGo配置Typora(非常详细) 第一步:安装PicGo 第二步:配置Typora ✨云服 ...
最新文章
- java bigdecimal语法_JAVA BigDecimal 小数点处理
- js 实现上下拖动改变父 div 的高度,左右上下拖动动态分割孩子的宽高
- jupyter 数据分析可视化案例_Python数据分析及可视化实例之Anaconda、Jupyter简介
- [Linux]共享内存
- 【Pytorch神经网络实战案例】10 搭建深度卷积神经网络
- 物理学步入禅境,缘起性空
- LaTex 数学之数学字体
- 常见的SQL优化面试题
- MapReduce经典案例-TopN
- 2018年的好书基本都在这了,你一共读过几本?
- html插入腾讯视频自动播放,腾讯视频代码在哪里 腾讯视频嵌入网页的方法
- Android实现九宫格图片控件
- Spring Boot制作个人博客-标签页
- seLinux的管理
- Dilated Residual Networks
- python版钉钉回调
- TensorFlow北大公开课学习笔记-4.1损失函数
- ExecutorService,Executors 使用
- 带倒计时RecyclerView的设计心路历程
- Django实战【三】—用户登录、注册实现
热门文章
- 【Lintcode】1799. Sequence Summation
- NLP机器翻译任务中,如何用Bleu score评价翻译质量(学习心得)
- 4 数据分析-案例:亚洲国家人口数据计算
- 【NLP】第8章 将 Transformer 应用于法律和财务文件以进行 AI 文本摘要
- Linux、Windows网络工程师面试题精选
- XMind ,石墨笔记, Effie ,你用什么应用来完成采编工作?
- stm32直流电机控制—PID算法篇
- HTTP协议请求方式: 中GET、POST和HEAD的介绍
- 减小PDF文档大小(转载)
- C#代码CRUD操作MySQL数据库