使用Http Adapter将图像存储到远程服务器

时间:2016-02-18 09:13:26

标签: ibm-mobilefirst

我想在远程服务器上显示Image并存储Image。我正在使用Ibm Worklight Version 6.2。我已经通过很多链接但没有找到解决方案

我的HTML网页代码

<fieldset style="height:auto;width:100% ">

                    <div id="Image" style="float:left;">
                        </div>
                        <div id ="delImage">                
                        </div>
                    </fieldset> 

和我的Js代码是

    uploadImage =  function (){
navigator.camera.getPicture(onSuccessCallBack, onFailCallBack, { 
        quality: 50,
        sourceType: Camera.PictureSourceType.CAMERA,
        destinationType: Camera.DestinationType.FILE_URI
    });
};

  function onSuccessCallBack (imageData){
   var img  =   document.createElement("img");
    img.style.width = "60px";
    img.style.height="60px";

    img.src =  imageData;

    var Image = document.getElementById("Image");
    Image.appendChild(img);

    var delImg  =   document.createElement("img");
    delImg.style.width = "60px";
    delImg.style.height="60px";

    delImg.src  =  "images/brws_gal.png";

    var deleteImg = document.getElementById("delImage");
    deleteImg.appendChild(delImg);




    var invocationData      =   {
            adapter         :   'DisbursalRequestImageAdapter',
            procedure       :   "uploadImageForDisbursal",
            parameters      :   [ requestObject, sessionId, operationFlag,'','' ]

    };
    var options             =   {
            timeout         :   timeout,
            onSuccess       :   successCreateImg,
            onFailure       :   failureCreateImg
    };

    WL.Client.invokeProcedure(invocationData, options);

};

在这里,我将动态图像附加到div中 我的问题是

  1. 我想使用Http Adapter
  2. 将图像存储到远程服务器
  3. 我想点击图片打开图片。
  4. 我没有垂直排列div,即每次拍摄照片时都应该创建一个新的div。

1 个答案:

答案 0 :(得分:0)

如果要将图像发送到远程服务器,则需要对图像进行base64编码,然后发送该字符串以存储在远程服务器的数据库中。

如果你想要检索它,你需要获取字符串,然后将base64字符串解码回图像文件类型并在HTML中显示图像(图像应该使用Cordova API存储在设备存储中,因为你有证明了使用)。

事实上,如果您搜索过,上面就是您在搜索中找到的内容。