我正在開發VS2015 cordova應用程序。我想要將圖像的基本64字符串發送到另一臺服務器。當我從圖庫中獲取圖像並將其轉換爲base64string時,出現問題。我獲得了base64string成功,但是當我拋棄它時,我總是會得到黑色的圖像。這裏是我的代碼:在JQuery中將圖像轉換爲base64string
function onPhotoURISuccess(imageURI) {
var largeImage = document.getElementById('smallImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
basestrg = encodeImageUri(imageURI);
}
function getPhoto(source) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, {
destinationType: Camera.DestinationType.NATIVE_URI, mediaType: Camera.MediaType.Photo,
sourceType: source
});
}
function encodeImageUri(imageUri) {
var c = document.createElement('canvas');
var ctx = c.getContext("2d");
var img = new Image();
img.onload = function() {
c.width = this.width;
c.height = this.height;
ctx.drawImage(img, 0, 0);
};
img.src = imageUri;
var dataURL = c.toDataURL("image/jpeg");
return dataURL;
}
請指教。
如果不確定添加它,檢查base64字符串是否以標識符開頭。 – seahorsepip
您使用異步回調在'onload'上繪製圖像。所以當你建立'dataUrl'時,圖像下面幾行還沒有繪製出來 – Paolo
@seahorsepip標識符是什麼? – prime