javascript - 如何解决从微信服务器远程抓取图片到七牛 node
本文介绍了javascript - 如何解决从微信服务器远程抓取图片到七牛 node的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想实现从前端上传的media_id,利用七牛的第三方资源抓取功能 fetch到七牛
官方文档没有看懂!https://developer.qiniu.com/k...
我也找到别人实现的案例
http://www.mamicode.com/info-...
这个案例里面没有看到怎么样进行ak验证 我不知道怎么解决了
const qiniu=require('qiniu');
const config=require('../config');
const accessKey = '';
const secretKey = '';
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
//如何账号`请输入代码`验证
exports.uploadToqiniu= async (mediaID)=>{
//从微信服务器获取数据
let client = qiniu.rs.Client();
let url=config.wx_url+mediaID;
//自定义图片名称 不能重复
let randomName='image'+Date.now();
let result= await client.fetch(url,'baoxiu',randomName).then(res=>{
let re_url = qiniu.rs.makeBaseUrl('otabs79kx.bkt.clouddn.com',randomName); //生成图片的可访问url
return re_url;
})
return result
}
上面是我自己写的,写得自己没有思路来。麻烦大家帮我看看!
解决方案
自己找的解决方法了!
首先明确七牛有第三方资源抓取功能,只是文档没有详细写而已。那么就去查看node.jsSDK的发布日志
具体怎么使用,测试文档里面肯定有,没有测试绝对不会发布。到仓库里面搜索fetch 就可以看到
下面是我现在的代码
const qiniu=require('qiniu');
const config=require('../config');
const mac = new qiniu.auth.digest.Mac(config.accessKey, config.secretKey);
var config = new qiniu.conf.Config();
var bucketManager = new qiniu.rs.BucketManager(mac, config);
exports.uploadToqiniu= (mediaID)=>{
//从微信服务器获取数据
return new Promise((resolve,reject)=>{
let url=config.wx_url+mediaID;
//自定义图片名称 不能重复
let randomName='image'+Date.now()+'.jpg';
bucketManager.fetch(url,'baoxiu',randomName,function(err,respBody,respInfo){
if(err){
reject(err);
}else{
if(respInfo.statusCode == 200){
let re_url = qiniu.rs.makeBaseUrl('otabs79kx.bkt.clouddn.com',randomName); //生成图片的可访问url
resolve(re_url);
}else{
reject(respInfo.statusCode);
}
}
})
})
}
这篇关于javascript - 如何解决从微信服务器远程抓取图片到七牛 node的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文