如何使用html / angularjs保存图像文件?

时间:2015-03-12 23:57:30

标签: javascript angularjs image parse-platform save

我想允许用户在我的应用的一个页面/状态上保存图像,然后以编程方式在我的应用的不同页面/状态上调用该图像。到目前为止,我考虑了三种方法来保存图像,但它们似乎都不适用于我:

首先,我尝试用我选择的数据库Parse创建一个'Parse.File'。 Parse.File是你如何保存图像。无论出于何种原因,我都无法使其发挥作用(Creating a Parse.File with Javascript SDK)。 Parse的文档具有欺骗性的挑战性,因为他们假定知识比我更多。

接下来我想到了在云端保存图像,然后只是用html指向它们。我尝试了Cloudinary,但它只是想了解如何组装他们的Angularjs插件,然后它缺少任何关于如何实际执行任何有意义的文档。后来我考虑了Flickr,这更容易上手,但他们又错过了一个例子,我可以很容易地应用到我的基本情况。

最后,我想到也许我可以将图像保存在本地目录中,并在数据库中使用匹配的引用,就像我可能为我的应用程序调用的任何其他资产一样。到目前为止,我还没弄清楚如何做到这一点。我开始尝试使用$ http上传图像。它没有用,所以我查看了ng-file-upload和ngStorage。没有一个人有好的应用程序示例或很好的文档。最后,我尝试了本教程但得到了可怕的访问控制允许来源错误。而且,我不清楚哪一个是这个问题的正确解决方案。

我不确定这些是否是正确的方法。请与我分享哪种方法可以让用户保存以后可以调用的图像文件。如果上述任何一种方法有效,请添加一些可以让我进步的细节。

1 个答案:

答案 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);
}