【Web前端问题】如何解决从微信服务器远程抓取图片到七牛 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);
}
}
})
})
}
以上是 【Web前端问题】如何解决从微信服务器远程抓取图片到七牛 node 的全部内容, 来源链接: utcz.com/a/135322.html