流星:Cloudinary
2015-08-10
1361
我正尝试使用 Lepozepo/cloudinary 上传照片
这是我的服务器和客户端配置
服务器:
Cloudinary.config({
cloud_name: '*****',
api_key: '******',
api_secret: '********'
});
客户端:
$.cloudinary.config({
cloud_name: "*******"
});
我尝试使用表单上传图像
html 表单代码:
<form>
<input type="file" id="userimage" name="userimage"/>
<button type="submit">Upload</button>
</form>
这是我的模板事件
Template.signup.events({
// Submit signup form event
'submit form': function(e, t){
// Prevent default actions
e.preventDefault();
var file = $('#userimage')[0].files[0];
console.log(file)
Cloudinary.upload(file, function(err, res) {
console.log("Upload Error: " + err);
console.log("Upload Result: " + res);
});
}
});
当我单击上传按钮时什么也没有发生,我只是收到一个错误
error: uncaught TypeError: Failed to execute 'readAsDataURL' on `'FileReader': parameter 1 is not of type 'Blob'.`
我该怎么做才能使其正常工作?
3个回答
请使用“_upload_file”代替“upload”。 实际上,“_upload_file”用于“upload”。 但不知何故,当您使用“upload”时,您无法捕获错误和响应
您可以捕获错误和响应。
Meteor 版本:1.1.0.3
lepozepo:cloudinary:1.0.2
Cloudinary._upload_file(files[0], {}, function(err, res) {
if (err){
console.log(err);
return;
}
console.log(res);
});
Ko Ohhashi
2015-09-16
我找到了一个解决方法。
-
Lepozepo/cloudinary
Cloudinary.upload
方法文件参数是一个数组,我只需添加以下代码:var files = [] var file = $('#userimage')[0].files[0]; files.push(file) console.log(files)
而且它工作正常
Jose Osorio
2015-08-10
我现在会在源代码中修补它,以便也接受单个文件。但是,
Cloudinary.upload
函数需要
Cloudinary.upload(files)
,而不是
Cloudinary.upload(files[n])
Marz
2016-08-06