Javascript 流星和云彩-回叫不发射
正在尝试将Cloudinary添加到我的Meteor应用程序中 图像未到达Cloudinary媒体库,且上载函数回调未启动。我知道以前有过一些问题,但我所做的一切似乎都无济于事: 服务器:Javascript 流星和云彩-回叫不发射,javascript,meteor,callback,cloudinary,Javascript,Meteor,Callback,Cloudinary,正在尝试将Cloudinary添加到我的Meteor应用程序中 图像未到达Cloudinary媒体库,且上载函数回调未启动。我知道以前有过一些问题,但我所做的一切似乎都无济于事: 服务器: Cloudinary.config({ cloud_name: '****', api_key: '****', api_secret: '*****' }); 客户: $.cloudinary.config({ cloud_name: "******" }); 如果我手动将图像上传
Cloudinary.config({
cloud_name: '****',
api_key: '****',
api_secret: '*****'
});
客户:
$.cloudinary.config({
cloud_name: "******"
});
如果我手动将图像上传到Cloudinary仪表板,它会显示图像,没有问题。使用最新版本的Meteor和lepozepo:cloudinary
感谢所有帮助/建议!:)
更新-让它与此一起工作:
var image = Session.get('photo');
if(image){ // check if post also includes image
var files = [];
files.push(dataURLtoBlob(image));
let options = {
folder: "app",
image_metadata: true
};
var imageURL = ""; // loading gif
Cloudinary.upload(files, options, function(err, res) {
if (err){
console.log("Error: " + err);
return;
}
//console.log(res);
imageURL = res.secure_url;
//console.log(imageURL);
});
}
我遇到了同样的问题,并通过使用包的早期版本“解决”了它。my.meteor/packages现在有以下功能:
lepozepo:cloudinary@=4.2.2
更新:
我不是用mdg:camera来获取数据,只是一个简单的输入。在桌面上,它显示文件浏览器。在iOS上,它显示“拍照/从库中选择”面板。(它也可以在Android上运行)
代码如下所示:
html:
我遇到了同样的问题,并通过使用包的早期版本“解决”了它。my.meteor/packages现在有以下功能:
lepozepo:cloudinary@=4.2.2
更新:
我不是用mdg:camera来获取数据,只是一个简单的输入。在桌面上,它显示文件浏览器。在iOS上,它显示“拍照/从库中选择”面板。(它也可以在Android上运行)
代码如下所示:
html:
谢谢zim。我降低了cloudinary软件包的级别。我现在收到此错误:
uncaughttypeerror:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。at functions.coffee:67 at Function.each.forEach(下划线.js?hash=cde485f…:152)
我尝试给它一个数组作为参数,并改用_upload_file函数,但没有成功。我想知道来自Session.get('photo')的数据
cloudinary函数的文件类型是否正确?@sutebu,您是否尝试过使用输入标记?我已经更新了我的答案,谢谢@zim!让它和你的输入标签一起工作。这表明这不是其他问题,因此我尝试使用以下方法将我的base64 imageURL转换为blob:Works great!:)谢谢zim。我降低了cloudinary软件包的级别。我现在收到此错误:uncaughttypeerror:未能在“FileReader”上执行“readAsDataURL”:参数1不是“Blob”类型。at functions.coffee:67 at Function.each.forEach(下划线.js?hash=cde485f…:152)
我尝试给它一个数组作为参数,并改用_upload_file函数,但没有成功。我想知道来自Session.get('photo')的数据
cloudinary函数的文件类型是否正确?@sutebu,您是否尝试过使用输入标记?我已经更新了我的答案,谢谢@zim!让它和你的输入标签一起工作。这表明这不是其他问题,因此我尝试使用以下方法将我的base64 imageURL转换为blob:Works great!:)
<input type="file" id="upload-image" class="file_bag" accept="image/*">
'change #upload-image': function(event, template) {
event.preventDefault();
let files = $('input.file_bag')[0].files;
let options = {
folder: Meteor.userId(),
image_metadata: true
};
Cloudinary.upload(files, options, function(error, result) {
console.log(result.public_id);
});
}