用腾讯云COS制作个人图床

用腾讯云COS制作个人图床

最终实现效果

在图片上右键上传,自动将图片上传到腾讯云上,并生成图片的URL到剪切板中。

准备工作

COS

我们需要一个空间,用于存放图片或者文件,这里推荐使用腾讯云,以下均以腾讯云进行演示。

本地环境

这里以腾讯云接口为例,本地需要node.js运行环境。

安装node.js

node.js

以上链接进去后点击安装LTS版,然后一路next就行了。

安装腾讯云SDK

腾讯云SDK

  • WIN+R调用运行库,输入cmd,打开控制台。

  • 输入npm i cos-nodejs-sdk-v5 --save -g

    
    C:\Users\Administrator>npm i cos-nodejs-sdk-v5 --save -g
    
    
  • 进入腾讯云SDK,将整个项目下载下来(github建议翻墙下载)解压后进入解压目录里运行控制台

  • 输入npm install -g

    D:\cos-nodejs-sdk-v5-master>npm install -g
    

    这里我是将文件解压在了D盘的根目录下了。

环境变量配置
  • windows环境变量中增加一项NODE_PATH,最好同时指向2处,例如:C:\Users\Administrator\node_modulesC:\Users\Administrator\AppData\Roaming\npm\node_modules最少指向一处。
  • 前者对应npm的本地安装,后者对应npm的全局安装,若找不到上面两个文件夹,请先安装nodejs腾讯云SDK

腾讯云上的设置

  • 请到腾讯云注册账号并实名认证,

  • 新建存储桶(记得将存储桶访问权限设置为共有读私有写,否则后面会因为权限不足导致返回的链接失效)

  • 打开刚刚创建的桶设置,选择域名管理,打开默认加速域名。

  • 在腾讯云菜单中找到CDN并打开,选择刚刚设置的域名,找到高级配置中的HTTP Header配置,添加HTTP Header。参数选择Content-Disposition,取值写inline;filename=FileName.txt

  • 获取APPID、SecretId、SecretKey、存储桶名称、所属地域(括号里面的英文,ap-xx)

    以上步骤请自行阅读腾讯云文档,这里不做说明。

设置并编写脚本

  • WIN+R调用运行库,输入regedit打开注册表编辑器

  • 找到计算机\HKEY_CLASSES_ROOT\*\shell

  • shell里面新建项上传腾讯云,在此项下再次新建项command,双击到command里面并修改右侧默认值 cmd.exe /K "C:\yunCos\1.bat "%1""

  • 在C盘根目录建文件夹:yunCos,新建1.bat,内容如下

    @echo off
    node C:\yunCos\yunCos.js %1%
    exit
    
  • 新建 yunCos.js文件,内容 如下

    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: '*', // 修改为自己的appid
        SecretId: '*',// 修改为自己的SecretId
        SecretKey: '*',// 修改为自己的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);
    	}
    });
    

    在任意文件上点击右键,选择 上传腾讯云 会有脚本框一闪而过,找个文本框粘贴下就会有图片的URL了

参考博客

blog.znmlr.cn

blog.csdn.net/q2158798

个人博客

blog.csdn.net/f317363184

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值