将图像上传到Cloudinary(Mean)

时间:2016-02-08 11:32:57

标签: angularjs api upload mean cloudinary

这个问题包括一个框架的细节,但我只是关于如何将照片文件上传到api的一般问题。我提交的图片的实际部分是什么?这张照片的内容是什么?

我可以在点击按钮时成功上传图片(使用angular-file-uploader。但是,我不知道这个对象的哪一部分应该发送到我的api。

下面的代码会抱怨类型错误:它无法将循环结构转换为JSON。

所以我也可以尝试从队列中获取文件,但是当它进入cloudinary时,我收到一个错误:TypeError:file.match不是函数。

HTML

<div>
    <input type="file" nv-file-select uploader="user.uploader" />
    <button ng-click="user.upload()">Upload</button> 
</div>

控制器

vm.upload = function() {
    console.log(vm.uploader);
    var photo = {file: vm.uploader.queue[0]}
    UserDisplay.uploadPhoto($stateParams.user_id, vm.uploader.queue[0])
}

API

cloudinary.uploader.upload(req.body.file, function(result) {
    console.log("made it here");
    console.log(result)
});

1 个答案:

答案 0 :(得分:0)

Cloudinary的Angular库支持ng-file-upload,而非angular-file-uploader。

这里没有显示一些代码。例如什么是UserDisplay

您收到此错误,因为队列包含FileItem对象而不是字符串。 您应该使用上传网址初始化FileUploader,并使用formData初始化upload_preset。这样就无需覆盖上传功能。

您可以在Cloudinary的AngularJS回购中看到示例项目:https://github.com/cloudinary/cloudinary_angular/tree/master/samples/photo_album