我在meteor的项目中使用类似下面这段代码,发现只能在服务器端使用,没办法实现客户端上传文件到七牛。
请问下有没有办法实现meteor中client端的上传:
function uploadFile(localFile, key, uptoken) {
var extra = new qiniu.io.PutExtra();
qiniu.io.putFile(uptoken, key, localFile, extra, function(err, ret) {
if(!err) {
// 上传成功, 处理返回值
console.log(ret.key, ret.hash);
} else {
// 上传失败, 处理返回代码
console.log(err);
}
});
}
服务端上传和客户端上传的道理其实都是一样的,拿到文件信息和上传凭证,然后提交上传表单。
由于上传凭证(uptoken)是不在客户端的时候生成的,通常是客户端请求服务端,服务端生成token然后响应给客户端,你那边可以调试一下看看,是不是因为uptoken没有取到的原因