nodejs向七牛云传数据

本文介绍了如何参照网络课程的示例,使用Node.js实现向七牛云存储平台上传数据的操作。详细步骤未在摘要中展开。
摘要由CSDN通过智能技术生成
const movies = [{
    video: 'http://vt1.doubanio.com/201908231123/0a5e3d8259f2de3e7670eff4110fab35/view/movie/M/302190491.mp4',
    doubanID: '26739551/',
    cover: 'https://img1.doubanio.com/img/trailer/medium/2493603388.jpg?',
    poster: 'https://img3.doubanio.com/view/photo/l_ratio_poster/public/p2563801472.jpg'
}]

const qiniu = require("qiniu")

const nanoid = require("nanoid")

const config = require("../config")

const bucket = config.qiniu.bucket
const mac = new qiniu.auth.digest.Mac(config.qiniu.AK, config.qiniu.SK)

const cfg = new qiniu.conf.Config()

const client = new qiniu.rs.BucketManager(mac, cfg)

const uploadToQiniu = async (url, key) => {
    return new Promise((resolve, reject) => {
        client.fetch(url, bucket, key, (err, ret, info) => {
            if (err) {
                reject(err)
            } else {
                if (info.statusCode === 200) {
                    resolve({ key })
                } else {
                    reject(info)
                }
            }
        })
    })
}

    ; (async () => {
        let movies = [{
            video: 'http://vt1.doubanio.com/201908231123/0a5e3d8259f2de3e7670eff4110fab35/view/movie/M/302190491.mp4',
            doubanID: '26739551/',
            cover: 'https://img1.doubanio.com/img/trailer/medium/2493603388.jpg?',
            poster: 'https://img3.doubanio.com/view/photo/l_ratio_poster/public/p2563801472.jpg'
        }]

        movies.map(async movie => {
            if (movie.video && !movie.key) {
                try {
                    console.log("开始传video")
                    let videoData = await uploadToQiniu(movie.video, nanoid() + ".mp4")
                    console.log("开始传cover")
                    let coverData = await uploadToQiniu(movie.cover, nanoid() + '.jpg')
                    console.log("开始传poster")
                    let posterData = await uploadToQiniu(movie.poster, nanoid() + ".jpg")

                    if (videoData.key) {
                        movie.videoKey = videoData.key
                    }
                    if (coverData.key) {
                        movie.coverKey = coverData.key
                    }
                    if (posterData.key) {
                        movie.coverKey = posterData.key
                    }
                    console.log(movie)
                }catch(err){
                    console.log(err)
                }
            }
        })
    })()

照着网络课程的demo,大佬勿喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值