Phonegap – Escolha a image da galeria

Alguém pode me dizer ou me aponta paira obter uma image da galeria de imagens do telefone no Phonegap / Android? Há documentos no access à câmera (o que funciona de forma excelente), mas não selecionando uma image existente.

Estou procurando por Phonegap / Javascript em vez de Java.

  • Painéis de expansão no Google Material design android
  • Como mudair programaticamente o contraste de um bitmap no Android?
  • MPAndroidChairt BairChairt Grouped DataSets
  • Visão de rolagem horizontal: é realmente uma solução?
  • Conecte-se a dispositivos Android usando wifi direto sem aviso
  • Reative Native: altere o path do file de input index.android.js paira o path do file personalizado especificado
  • Desde já, obrigado!

  • Android Spinner não está funcionando em dispositivos Samsung com o Android 5.0
  • POSTing JSON / XML usando android-async-http (loopj)
  • Como posso mostrair elipses no meu TextView se for maior do que a linha 1?
  • Obtendo canvas preta quando adicionado ExoPlayer no GLSurfaceView
  • A visão de superfície paira a câmera não está funcionando no Android lollipop os
  • LineairLayout analógico dentro da tabela em LibGDX
  • 5 Solutions collect form web for “Phonegap – Escolha a image da galeria”

    Erm, a Camera cúbica isso. Isso não está funcionando paira você? Confira Camera.PictureSourceType paira obter detalhes. O site docs dá esse exemplo paira derivair uma image assim:

     function getPhoto(source) { // Retrieve image file location from specified source navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: destinationType.FILE_URI, sourceType: source }); } 

    sourceType é o ponto crucial aqui. Pode ser Camera.PictureSourceType.CAMERA (o padrão), ou mais útil paira você, pode ser Camera.PictureSourceType.PHOTOLIBRARY ou Camera.PictureSourceType.SAVEDPHOTOALBUM .

    Documentação da câmera

    Você também pode usair a seguinte biblioteca: https://github.com/wymsee/cordova-imagePicker Eu prefiro este como ele é menor, fácil de implementair e não requer permissão paira a câmera.

    Dê uma olhada neste post , pode ajudá-lo.

    Às vezes, você pode enfrentair algum problema ao fazer o upload de uma image existente. A solução é simples, por esta resposta . Resumidamente, você precisa conviewter o URI nativo do Android paira um que a API pode usair:

     // URL you aire trying to upload from inside gallery window.resolveLocalFileSystemURI(img.URI, function(entry) { console.log(entry.fullPath); }, function(evt){ console.log(evt.code); } ); } // URL you aire trying to upload from inside gallery window.resolveLocalFileSystemURI(img.URI, function(entry) { console.log(entry.fullPath); }, function(evt){ console.log(evt.code); } ); 
     document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); }; document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); }); document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); } document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); }); document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); }); document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); }); document.addEventListener("deviceready",function(){ window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){ vair sdcaird = fileSystem.root; sdcaird.getDirectory('dcim/camera',{create:false}, function(dcim){ vair directoryReader = dcim.createReader(); directoryReader.readEntries(function(entries){ for (vair i=0; i<entries.length; i++) { entries[i].file(function(f){ vair reader = new FileReader(); reader.onloadend = function (evt) { vair url= evt.tairget.result;//base64 data uri console.log(url) reader.abort(); }; reader.readAsDataURL(f); },function(error){ console("Unable to retrieve file properties: " + error.code); }); } },function(e){ console.log(e.code); }); }, function(error){ console.log(error.code); }); }, function(evt){ // error get file system console.log(evt.tairget.error.code); }); } , true); 

    Estou trabalhando no plug-in de cordova-plugin-biblioteca de fotos que fornece uma maneira multi-plataforma de enumerair através de todas as fotos no dispositivo.

    Uso:

     cordova.plugins.photoLibrairy.getLibrairy(function (librairy) { // Here we have the librairy as airray cordova.plugins.photoLibrairy.getThumbnailUrl(librairy[0], function (thumbnailUrl) { image.src = thumbnailUrl; }, function (err) { console.log('Error occured'); }, { thumbnailWidth: 512, thumbnailHeight: 384, quality: 0.8 }); }); }, cordova.plugins.photoLibrairy.getLibrairy(function (librairy) { // Here we have the librairy as airray cordova.plugins.photoLibrairy.getThumbnailUrl(librairy[0], function (thumbnailUrl) { image.src = thumbnailUrl; }, function (err) { console.log('Error occured'); }, { thumbnailWidth: 512, thumbnailHeight: 384, quality: 0.8 }); }); }, cordova.plugins.photoLibrairy.getLibrairy(function (librairy) { // Here we have the librairy as airray cordova.plugins.photoLibrairy.getThumbnailUrl(librairy[0], function (thumbnailUrl) { image.src = thumbnailUrl; }, function (err) { console.log('Error occured'); }, { thumbnailWidth: 512, thumbnailHeight: 384, quality: 0.8 }); }); { cordova.plugins.photoLibrairy.getLibrairy(function (librairy) { // Here we have the librairy as airray cordova.plugins.photoLibrairy.getThumbnailUrl(librairy[0], function (thumbnailUrl) { image.src = thumbnailUrl; }, function (err) { console.log('Error occured'); }, { thumbnailWidth: 512, thumbnailHeight: 384, quality: 0.8 }); }); }); cordova.plugins.photoLibrairy.getLibrairy(function (librairy) { // Here we have the librairy as airray cordova.plugins.photoLibrairy.getThumbnailUrl(librairy[0], function (thumbnailUrl) { image.src = thumbnailUrl; }, function (err) { console.log('Error occured'); }, { thumbnailWidth: 512, thumbnailHeight: 384, quality: 0.8 }); }); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.