之前打算做青年大学习的截图生成工具,后面学校不用截图了就没去做了,趁没删除之前把项目中一些有用代码片段分享出来,希望能帮助到有需要的网友,如果你看到了这篇文章请在下方留个脚印,证明我的文章对大家还是有帮助的,这样使我更加有动力去分享。

需要安装的模块:

 npm install qiniu string-random

tip:string-random 用来随机生成文件名的

const qiniu = require('qiniu')
const random = require('string-random')
const accessKey = 'YVirxdGn6Ajkj7kfgzeQ6cJDQuW8jxkBLIdVd-9b'
const secretKey = '31kj3kXxr_UB_CDOjj3Oro6ukQx7VxH4Wn-hcyI0'
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
const bucket = "xiaobaicai"

module.exports = {
    /**
     * 网络图片上传至七牛云
     * @param {*} imageURL 
     * @returns 
     */
    update: function (imageURL) {
        if (imageURL) {
            let config = new qiniu.conf.Config()
            config.zone = qiniu.zone.Zone_z0 // 华东
            let bucketManager = new qiniu.rs.BucketManager(mac, config)
            
            return new Promise((resolve, reject) => {
              bucketManager
              .fetch(imageURL, bucket, random(31) + '.jpg', (err, respBody, respInfo) => {
                if (err) {
                  console.log(err)
                } else {
                  if (respInfo.statusCode == 200) {
                    if (respBody.key) {
                      resolve(respBody.key)
                    }
                  } else {
                    reject()
                    console.log(respBody)
                  }
                }
              })
            })
        }
        throw "Error"
    }
}

做一个热心网友何乐而不为呢!

参考文档:

https://developer.qiniu.com/kodo/1289/nodejs

https://gitcode.net/dreamLeadToword/string-random