|
小程序上傳圖片到七牛云存儲,服務端使用nodejs的thinkjs框架 服務端
'use strict'
import Base from './base.js';
import qiniu from 'qiniu';
export default class extends Base{
async uploadAction(){
var accessKey = '注冊七牛云之后,七牛提供的accessKey';
var secretKey = '注冊七牛云之后,七牛提供的secretKey';
var bucket = '你自己創(chuàng)建的存儲對象'
var mac = new qiniu.auth.digest.Mac(accessKey,secretKey);
var options = {
scope:bucket,
};
var putPolicy = new qiniu.rs.PutPolicy(options);
var uploadToken = putPolicy.uploadToken(mac);
think.log(uploadToken)
// 給前端返回一個uploadToken
return this.success(uploadToken);
}
}
小程序端通過服務端拿到uploadToken
upload: function () {
var that = this;
wx.request({
url: app.globalData.get_url + "/upload/upload",
success: function (res) {
var uploadToken = res.data.data;
that.setData({
uploadToken: uploadToken
})
}
})
},
上傳圖片
chooseImage02: function (e) {
var that = this;
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],// 可以指定是原圖還是壓縮圖,默認二者都有
sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有
success: function (res) {
var wechatma = [];
var tempFilePaths = res.tempFilePaths;
var filePath = tempFilePaths[0];
//七牛提供的上傳方法
qiniuUploader.upload(filePath, (res) => {
wechatma.push(res.imageURL)
that.setData({
imageURL02: res.imageURL,
wechatma: wechatma
});
}, (error) => {
console.log('error: ' + error);
}, {
region: 'ECN',
domain: app.globalData.upload_url + '/',
uptoken: that.data.uploadToken, // 由其他程序生成七牛 uptoken
});
}
})
},
previewImage02: function (e) {
wx.previewImage({
current: e.currentTarget.id, // 當前顯示圖片的http鏈接
urls: this.data.wechatma // 需要預覽的圖片http鏈接列表
})
},
效果如下: |