这个问题包括一个框架的细节,但我只是关于如何将照片文件上传到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)
});
答案 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