Ich verwende folgenden Code, um Bild base64 Daten zum Anzeigen und zum Server hochladen zu erhalten. Aber ich möchte dieses aufgenommene Bild im SDCard-Ordner speichern. Bitte hilf mir dabei.Wie aufgenommenes Bild in PhoneGap in einen Ordner in SD-Karte verschieben
Dies ist für mich notwendig, um base64-Bilddaten zu erhalten, da Server nur dieses Format unterstützt. Deshalb verwende ich den destinationType = 0 (bedeutet DATA_URL). Ich habe jetzt Base64-Bilddaten, aber wie kann ich diese Daten auf SD-Karte speichern?
uploadPhoto(isSourceCamera, onPhotoDataSuccess, onFail);
function uploadPhoto(isSourceCamera, onPhotoDataSuccess, onFail)
{
pictureSource = navigator.camera.PictureSourceType;
if (isSourceCamera)
{
//QUALITY MUST BE LOW TO AVOID MEMORY ISSUES ON IPHONE4 ! (and other low memory phones).
//must resize to make it faster to upload and avoid failure with low memory phones.
navigator.camera.getPicture(onSuccessFunc, onFail, {
quality : 35,
sourceType : pictureSource.CAMERA,
targetWidth:750,
targetHeight:750,
allowEdit:true,
destinationType:0
});
}
else
{
navigator.camera.getPicture(onSuccessFunc, onFail, {
quality : 35,
sourceType : pictureSource.PHOTOLIBRARY,
targetWidth:750,
targetHeight:750,
allowEdit:true,
destinationType:0
});
}
}
function onPhotoDataSuccess(imageData)
{
**//I want to smae my image here in sdcard folder.**
var nodeid = localStorage.getItem("user_nodeid");
var modifyImgData = imageData.replace(' ', '+');
document.getElementById('image').src = setLocalStorageImage(localStorage.getItem(nodeid+"image"), modifyImgData);
document.getElementById('profileMenu').src = setLocalStorageImage(localStorage.getItem(nodeid+"smallimage"), modifyImgData);
$.ajax({
type: "POST",
url: appURL+"api/upload/image/" +nodeid+ "/1",
data: "image=" + encodeURIComponent(modifyImgData),
success: function(msg){
//No need to do anything here
if (msg.documentElement.getElementsByTagName("message")[0].childNodes[0].nodeValue != 'success')
onFail('Error in uploading image at server. Please try again.');
}
});
}
function onFail(message){
alert(message);
}
Hallo Simon Danke für Ihre Antwort retrive, habe ich versucht, "Filewriter", aber nicht in perticular Lage von SD-Karte (wie sdcard/myphotos) speichern successed. Wie diesen Pfad zuweisen? Wissen Sie auch nicht, wie Sie Base64-Daten als gültiges Bild in Phonegap speichern können? Bitte helfen Sie .. – Ram
Hier ist ein gutes Beispiel für die Verwendung des FileWriter. http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html#FileWriter_full_example –