我想允许用户在我的应用的一个页面/状态上保存图像,然后以编程方式在我的应用的不同页面/状态上调用该图像。到目前为止,我考虑了三种方法来保存图像,但它们似乎都不适用于我:
首先,我尝试用我选择的数据库Parse创建一个'Parse.File'。 Parse.File是你如何保存图像。无论出于何种原因,我都无法使其发挥作用(Creating a Parse.File with Javascript SDK)。 Parse的文档具有欺骗性的挑战性,因为他们假定知识比我更多。
接下来我想到了在云端保存图像,然后只是用html指向它们。我尝试了Cloudinary,但它只是想了解如何组装他们的Angularjs插件,然后它缺少任何关于如何实际执行任何有意义的文档。后来我考虑了Flickr,这更容易上手,但他们又错过了一个例子,我可以很容易地应用到我的基本情况。
最后,我想到也许我可以将图像保存在本地目录中,并在数据库中使用匹配的引用,就像我可能为我的应用程序调用的任何其他资产一样。到目前为止,我还没弄清楚如何做到这一点。我开始尝试使用$ http上传图像。它没有用,所以我查看了ng-file-upload和ngStorage。没有一个人有好的应用程序示例或很好的文档。最后,我尝试了本教程但得到了可怕的访问控制允许来源错误。而且,我不清楚哪一个是这个问题的正确解决方案。
我不确定这些是否是正确的方法。请与我分享哪种方法可以让用户保存以后可以调用的图像文件。如果上述任何一种方法有效,请添加一些可以让我进步的细节。
答案 0 :(得分:2)
这是一个应用程序还是一个网站? 我同意你的观点,文件非常具有说服力。
您可以查看以下链接:
我与cordova共享我的代码:
var photo;
var cameraOptions = {
quality: 50,
destinationType: 0,
encodingType: 0,
targetWidth: 800,
targetHeight: 800,
mediaType: 0,
correctOrientation: true,
saveToPhotoAlbum: true
};
$scope.takePicture = function() {
cameraOptions.sourceType = 1;
navigator.camera.getPicture(onSuccess, onFail, cameraOptions);
}
$scope.selectPicture = function() {
cameraOptions.sourceType = 0;
navigator.camera.getPicture(onSuccess, onFail, cameraOptions);
}
function onSuccess(picture) {
File.upload(picture)
.success(function(data) {
// What you want
});
}
function onFail(resp) {
alert('Error: ' + resp);
}