2015-07-10 129 views
-1

我正在製作phonegap應用程序,其中用戶從他的相機提交照片,我以Base64編碼形式獲取它。

var posData=extImage1; 
      $.ajax({ 
       type: 'POST', 
       data: posData, 
       timeout:50000, 
       url: 'http://192.168.137.1/bee/services/add_photo.php', 
       success: function(data){ 
         alert(data); 
         addToList(); 
       }, 
       error: function(){ 
        alert('Please check your internet connection'); 
       } 
      }); 

服務器端的代碼保存到數據庫,但是當選中並用作div背景時;無論如何,它都無法工作!

BG='url(' + "data:image/jpeg;base64," + item.car_intImage3+ ')'; 
    $('#item').css('background',BG); 

爲什麼會發生這種情況?我的猜測是,在發佈數據時,它會以某種方式進行擾亂。

我試圖用這個question的代碼在服務器上保存圖像,但它只是給出了一個損壞的圖像。

更新:

使用這種decoder我提交的公佈64碼,它也給損壞的圖像。我認爲這意味着我的發佈方法有問題。有什麼建議麼?

+0

圖像是否已經正確保存到您的網絡存儲? –

+0

你得到了什麼迴應/ – vrs

+0

嘗試[this](http://stackoverflow.com/questions/15709515/save-base64-encoded-image-with-ajax-request-in-php)。 – 73ey

回答

0

如果使用Dropzone.js

看看Dropzone.js Implementation這將是一個很多清潔和更容易。這是很容易

這是你如何初始化它

var myDropzone = new Dropzone("div#myId", { url: "/file/post"}); 

你也可以聽很多像Adding a file事件,Removing a file

對於防爆:

Dropzone.options.myAwesomeDropzone = { 
    init: function() { 
    this.on("addedfile", function(file) { alert("Added file."); }); 
    } 
}; 

編輯:上述解決方案將工作,如果你存儲image喲你的磁盤,只是你的數據庫中的image location。事實上,如果你這樣做會更好。

現在來到你的處理圖像的方法,你會想通過它有一個直截了當的回答

而且這個環節how-can-i-store-and-retrieve-images-from-a-mysql-database-using-php,檢查是否正在使用的datatype,可能是其截斷他的編碼數據您存儲在數據庫中,因此您可能會收到損壞的圖像。還請檢查上述將圖像存儲在鏈接中提到的數據庫中的方法。

希望這可以解決您的問題

+0

我不確定它是如何與phonegap一起工作的,無論如何,我沒有將圖像作爲實際文件獲得,而是作爲Base64編碼。 – Zahema

+0

檢查編輯...希望能夠解決您的問題 – Abhinav

+0

我很抱歉,仍然沒有幫助:D。我有一個proplem獲得第一名的形象DB – Zahema

相關問題