我一直在努力得到ng文件上传 https://github.com/danialfarid/ng-file-upload工作,以便我可以上传图像并将它们发送到数据库——在我的例子中是mongoLab http://mongolab.com接受 JSON 对象的数据库可以是POST
ed 的语法如下:
$http.post('myMongoName/myDb/myCollection/myTable', {'key': 'value'})
相当简单。但是,我对如何发送使用上传的图像感到困惑ngFileUpload
到数据库。我使用 ngFileUpload 文档页面上介绍的熟悉语法:
$scope.upload = function (files) {
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
console.log(file);
Upload.upload({
url: myMongoLabURL,
fields: {'sup': 'sup'},
file: file
})
}).success(function (data, status, headers, config) {
console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
});
}
}
}
但是,在登录后file
对象出来,我得到对象:
File {}
$$hashKey: "object:76"
lastModified: 1433922719000
lastModifiedDate: Wed Jun 10 2015 00:51:59 GMT-0700 (PDT)
name: "1.png"
size: 138024
type: "image/png"
webkitRelativePath: ""
__proto__: File
其中都不包含可以存储到数据库的实际图像二进制文件。我基本上不知道实际图像本身实际上上传到哪里!
同样重要的是要注意,我没有使用此语法从服务器获得响应 - 不过,如果我可以获得图像的二进制文件,我可以使用熟悉的$http.post
方法并自己将图像推送到数据库中。
如何找到上传图像的二进制文件,并将其推送到数据库中?上传后图像存在于哪里,甚至上传到哪里?我正在做这一切localhost
所以看起来浏览器已经读取了图像的所有属性,但我不确定如何将其转化为有意义的见解,我可以用它来将图像存储到我的外部数据库中。
谢谢你的帮助。