Я использую следующий код для получения изображений base64 данных для отображения и загрузки на сервер. Но я хочу сохранить это снятое изображение в папке sdcard. Пожалуйста, помогите мне сделать это.Как переместить захваченное изображение в PhoneGap в папку в sdcard
Это необходимо для получения данных изображения base64, поскольку сервер поддерживает только этот формат. Вот почему я использую destinationType = 0 (означает DATA_URL). Теперь у меня есть данные изображения base64, но как я могу сохранить эти данные на SD-карте?
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);
}
Привет Саймон Спасибо за ответ, я пытался "FileWriter", но не для сохранения В случае успешного в perticular расположения SDCard (например, SDCard/myphotos). Как назначить этот путь? Также не знаете, как сохранить данные base64 в качестве действительного изображения в телефонной заторе? Пожалуйста, помогите .. – Ram
Вот хороший пример использования FileWriter. http://docs.phonegap.com/ru/1.5.0/phonegap_file_file.md.html#FileWriter_full_example –