[英]Meteor and Cloudinary - Callback not firing
尝试将Cloudinary添加到我的Meteor应用程序中。
图像无法访问Cloudinary媒体库,并且上载函数回调未触发。 我知道以前有过问题,但我做的事似乎没有帮助:
https://github.com/Lepozepo/cloudinary/issues/21
Template.commentSubmit.events({
'submit form': function(e, template) {
e.preventDefault();
var image = Session.get('photo'); // get image from mdg:camera
//console.log(image);
Cloudinary.upload(image, function(err, res) {
if (err){
console.log("Error: " + err);
return;
}
console.log("Success: " + res);
});
// code adding comment and image to mongodb
});
服务器:
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);
});
}
我遇到了同样的问题,并通过使用早期版本的软件包“解决”了它。 我的.meteor / packages现在有这个:
lepozepo:cloudinary@=4.2.2
更新:
我没有使用mdg:camera来获取数据,只是一个简单的输入。 在桌面上,它显示文件浏览器。 在iOS上,它显示“拍照/从库中选择”面板。 (它也适用于Android)。
代码如下所示:
HTML:
<input type="file" id="upload-image" class="file_bag" accept="image/*">
JS:
'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);
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.