express实现上传图片到七牛云

  • 第一种实现方式

实现思路:后端写接口给前端获得token,前端获得凭证后将图片上传到七牛云,并获得返回的图片url地址。

首先要注册七牛云:https://portal.qiniu.com/signup?code=3layyygwwtrv6

注册完之后要认证,上传身份证正反面就可以

之后创建对象存储空间,得到存储空间的名字

再从个人中心==》密钥管理==》找到你的ak、sk,

下面的代码是参考这个文档的https://developer.qiniu.com/kodo/sdk/1289/nodejs

1、后端写的接口 

//config.js

const qiniu = require('qiniu')

// 创建上传凭证
const accessKey = ''    //accessKey 
const secretKey = ''    //secretKey 
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
const options = {
    scope: '',         //对象存储空间名字
    expires: 7200
}
const putPolicy = new qiniu.rs.PutPolicy(options)
const uploadToken = putPolicy.uploadToken(mac)

module.exports = {
    uploadToken
}

2、写一个接口

//upload.js


const qnconfig = require('../config.js')
var express = require('express');
var router = express.Router();

/* GET home page. */


router.get('/', (req, res, next) => {
    const token = qnconfig.uploadToken
    res.send({
        status: 1,
        message: '上传凭证获取成功',
        upToken: token,
    })
})
module.exports = router;

具体的服务启动就不说了,已经写过这个的人,说明是有点node基础的

3、前端调用接口并且将图片上传到七牛云(下面我用的是element的上传插件,我从项目里拷贝过来的)

下面的domain是根据你创建存储空间选择的地区来填的,

文档在这里:https://developer.qiniu.com/kodo/manual/1671/region-endpoint

以及要填入你的外链默认域名



 

你可能感兴趣的:(面试)