2012-08-24 2 views
2

PhoneGap 2.0을 사용 중이며 URI에서 base64로 인코딩 된 미디어를 얻지 않으려 고 시도합니다. 끝에 PhoneGap FileEntry에서 base64로 인코딩 된 데이터 추출

function tryToSend(fileReader) { 
    // I don't really what the parameter is 
} 

function win(file) { 
    alert(file.name + ' ' + file.type); // type is undefined here 
    var reader = new FileReader(); 
    reader.onloadend = tryToSend; 
    var encoded = reader.readAsDataURL(file); // encoded is undefined here 
} 

function fail(error) { 
    console.log(error); 
} 

function onResolveSuccessCompleted(fileEntry) { 
    fileEntry.file(win, fail); 
} 

function onResolveFailed(error) { 
    console.log(error); 
} 

window.resolveLocalFileSystemURI(MY_FILE_URI, onResolveSuccessCompleted, onResolveFailed); 

, 내 파일을 base64로 인코딩 된 데이터를 추출 할 수 아니에요, 내가 JSON AJAX 호출에를 보내도록해야합니다.

내 코드에 이상이 있습니까? 내가 필요한 것을 성취 할 수있는 방법을 알고 있습니까?

건배.

시릴

답변

2

좋아, 그것은 비동기 호출하고 아무것도 반환하지 않는 reader.readAsDataURL의 반환 값을 캡처에 아무 소용이 없습니다. tryToSend 메서드는 다음과 같이 작성해야합니다.

function tryToSend(evt) { 
    var encoding = evt.target.result; 
    // now encoding has your file as a base64 encoded string. 
} 
+0

작동 중입니다. evt.result를 시도했지만 분명히 누락되었습니다 ... 건배! – cyrilPA