내 phonegap 카메라 플러그인 버전은 0.3.4이고 phonegap cli는 4.1.2-0.22.10이고 Android phonegap 플랫폼 버전은 3.6.4이며 빌드 버전 3.5입니다. 내가 갤러리에서 이미지를 선택하면이미지 파일 이름에 공백이 있으면 PhoneGap 카메라 getPicture가 실패합니다.
navigator.camera.getPicture(
uploadPhoto,
function(message)
{
console.log("Get Picture Failed:"+ message);
}
,
{
quality: 50,
allowEdit:false,
correctOrientation: true,
targetWidth: 800,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY
}
);
는 항상 소요 : Config.xml의 0.0는 안드로이드 4.x의에 대한 테스트는 아래 갤러리 또는 보관 중 하나에서 삼성 휴대폰의 이미지를 얻기위한 내 코드입니다 선택한 대상 유형에 관계없이 file_uri (FILE : ///) 대신 native_uri (content : //)를 사용하십시오. 그러나 앱이 드롭 박스를 통해 이미지에 액세스하려고하면 반환 된 URI는 선택한 대상 유형과 관계없이 항상 file_uri가됩니다. 지금,
- 파일 이름에 'Photo7.jpg'와 같은 공백이 없으면 모든 경우에 이 올바르게 작동합니다.
- 파일 이름에 'Photo 7 new.jpg'와 같은 공백이 있으면 native_uri가 항상 사용되고 공간을 없애기 때문에 갤러리에있는 경우 제대로 작동합니다. file_uri는 여전히 파일 이름에 공백을 포함하지만 getpicture 메소드에서는 사용되지 않습니다.
- 이제 앱이 드롭 박스를 통해 동일한 이미지 '사진 7 new.jpg'에 액세스하려고하면 문제가 발생합니다. 이 경우 반환 된 URI는 항상 file_uri이며 공백을 포함합니다. 이것은 카메라 api의 getpicture 메소드에 실패하고 "Get Picture Failed : Bitmap을 만들 수 없습니다!"라는 메시지와 함께 실패 콜백을 실행합니다.
phonegap/cordova 코드를 조정하여 공간을 조정할 수있는 방법이 있습니까? 아니면 encode_uri 또는 다른 어떤 해결 방법이 있습니까? 어떤 도움을 주셔서 감사합니다!
URI입니다 : 공백을'% 20' 또는'+'로 인코딩 해 보았습니까? –
@MarcB Thanks Marc! 그러나 phonegap camera api의 경우 URI는 성공적인 경우에만 getpicture 메소드에 의해 throw됩니다 (getpicture() 내에서 상주하는 원시 코드에서 발생). getpicture()가 실패하면 uri를 수정하지 않고 오류 메시지 만받습니다. 그래서 내가 phonegap API 내에서 네이티브 코드를 만지지 않으면 나는 uri를 인코딩 할 수 없을 것입니다. 그것이 도움이 필요한 곳입니다. – DevD