웹마스터 팁
xe 어플 개발시 키캡 4.4.4 미만 업로드 문제
2014.11.25 15:04
키캣 4.4.4 이전 버전 에서 크롬을 사용하지 않고 디폴트 웹뷰 이용하면 파일 첨부 안됩니다.
이문제가 이슈로 되어 있을건데 4.4.4 버전에서는 해결되었습니다. 그냥 form의 파일 input 사용해도 첨부 됩니다.
문제는 업체들이 부지런하게 업그레이드 한 갤럭시 등등 폰에서는 키캣 4.4.2 정도에서 업그레이드를 해 주지 않고 있습니다.
아마 안해주고 룰리팝으로 넘어 갈 가능성이 큰데 근본적으로 폰갭 업로드를 어플 내에서 처리해 버리면 근본적인 문제가 해결됩니다.
자바 개발하신 분들은 직접 자바에서 처리하셨을겁니다. 폰갭개발 자들은 대응방법이 없었으나 api를 활용하면 된다고만 되어 있거나 자바로처리 했을겁니다. 폰갭 자체 api로 처리가 가능해서 올립니다.
function getImage() {
// Retrieve image file location from specified source
navigator.camera.getPicture(uploadPhoto, function(message) {
alert('get picture failed');
},{
quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
});}
function uploadPhoto(imageURI) {
var options = new FileUploadOptions();
options.fileKey="profile_image"; // 파일 필드명
options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(imageURI, "http://도메인/upload.php", win, fail, options);
}
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
alert(r.response);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
댓글 3
-
몽실아빠
2014.11.25 15:27
-
Happyphp
2014.11.25 18:26
제가 작업중인것이 이부분인데 현재 xe의 모바일 업로드 부분이 모바일과 어플 나누어서 해결되어야 될겁니다. 이글은 어플로 되었을때 가능한것이고 거의 다른 어플 수준으로 ui가 제공됩니다.
-
몽실아빠
2014.11.25 15:44
서명에 부천사무소 개설 이 눈에 띄네요 ㅋ 제 근거지가 부천이라서요 ㅋ
요게 저희 XE의 모바일 업로드에 사용되는 ajaxfileupload.js 에 적용이 절실해 보입니다.