localstorage上传照片不起作用

时间:2015-08-31 07:29:05

标签: jquery mobile-application photo-upload

我是移动应用的新手,开发了一个我需要上传照片并存储到服务器的APP。

我有以下JS代码将照片存储到localstorage然后使用getitem获取该照片并转换为base64,最后使用PHP将其移动到具有图像转换技术(base64_decode)的服务器

function saveImage(photoURI,task_id) {
alert("in save image");
//remove the old photo if exists
var old_photoURI;
if (old_photoURI = loadImage(task_id)) {
    deleteImage(old_photoURI,task_id);
}

//update the local database
localStorage.setItem("tmp_photo_"+task_id, photoURI); 
return true; }

获取存储在localstorage上的图像的代码

function loadImage(task_id) {
alert("in load image")
//read the current photo
return localStorage.getItem("tmp_photo_"+task_id); }

以下代码是将图像转换为base64

var dt = new Date();
                var timeupload = dt.getDate() + "" + (dt.getMonth()+1) + "" + dt.getFullYear() + "" + dt.getHours() + "" + dt.getMinutes() + "" + dt.getSeconds();
                imgname = task_id+"_"+timeupload+'.jpeg';

                alert(loadImage(task_id) + "load image task id");

                var filesSelected = loadImage(task_id);

                alert(filesSelected + "files selected");
                alert(filesSelected.length + "files lenth");

                if (filesSelected.length > 0)
                {
                    var fileToLoad = filesSelected[0];

                    var fileReader = new FileReader();

                    fileReader.onload = function(fileLoadedEvent) {
                        var srcData = fileLoadedEvent.target.result; // <--- data: base64

                        var newImage = document.createElement('img');
                        newImage.src = srcData;
                        base64_string = newImage.outerHTML;
                        alert(srcData + "srouce data  now");

                    }
                    fileReader.readAsDataURL(fileToLoad);
                }

最后将此srcData值传递给Service,它具有再次转换为图像的所有功能,并将其保存到服务器上的文件夹中。

我保存了功能(将签名上传到服务器),它与相同的代码完美配合。

0 个答案:

没有答案