2015-04-28 57 views
0

我在使用JSON保存圖片時遇到了問題。我可以使用此代碼訪問移動相機:如何使用phonegap在json中添加圖像文件?

var pictureSource; // picture source 
var destinationType; // sets the format of returned value 

// Wait for PhoneGap to connect with the device 
// 
document.addEventListener("deviceready",onDeviceReady,false); 

// PhoneGap is ready to be used! 
// 
function onDeviceReady() { 
    pictureSource=navigator.camera.PictureSourceType; 
    destinationType=navigator.camera.DestinationType; 
} 

function onPhotoFileSuccess(imageData) { 
    // Get image handle 
    console.log(JSON.stringify(imageData)); 

    var smallImage = document.getElementById('smallImage'); 

    smallImage.style.display = 'block'; 

    smallImage.src = imageData; 
    location.href = "#pageone"; 
} 

function capturePhotoWithFile() { 
    navigator.camera.getPicture(onPhotoFileSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.FILE_URI }); 
} 

function onFail(message) { 
    alert('Failed because: ' + message); 
} 

我的問題是,我對此應該採取和保存圖片文字的形式。這是我的代碼,添加和保存表單,無需將影像:

function Add(){ 
 
\t \t var client = JSON.stringify({ 
 
\t \t \t repairNum : $("#repairNum").val(), 
 
\t \t \t fname : $("#fname").val(), 
 
\t \t \t lname : $("#lname").val(), 
 
\t \t \t address : $("#address").val(), 
 
\t \t }); 
 
\t \t \t jewelryRepair.push(client); 
 
\t \t \t localStorage.setItem("jewelryRepair", JSON.stringify(jewelryRepair)); 
 
\t \t \t alert("The data was saved."); 
 
\t \t \t return true; 
 
\t }

我的問題是,我該怎麼插入這個功能添加圖像文件()?非常感謝!

+0

它是'imgData',你想存儲在'客戶端'?如果是這樣的話'imgData'中的格式是什麼?你能打印'imgData'的內容嗎? – Zee

+0

嗨!作爲參考,這是我工作的鏈接。 [鏈接](https://github.com/emae0528/sampleCode.git) –

回答

0

假設Add()onPhotoFileSuccess()之後被調用,那麼您可以在您的Add()函數(見下文)中執行此操作。這將是一個數據網址 - 這意味着網址中包含了所有的圖像數據。

function Add(){ 
     var client = JSON.stringify({ 
      repairNum : $("#repairNum").val(), 
      fname : $("#fname").val(), 
      lname : $("#lname").val(), 
      address : $("#address").val(), 
      photoData: $("#smallImage").attr("src") 
     }); 
      jewelryRepair.push(client); 
      localStorage.setItem("jewelryRepair", JSON.stringify(jewelryRepair)); 
      alert("The data was saved."); 
      return true; 
    } 
+0

嗨@Shawn感謝您的答案,但是當我嘗試時,圖像似乎被打破。 –

+0

這是我工作的倉庫:) [Github Repo](https://github.com/emae0528/sampleCode.git) –

相關問題