2013-06-27 1 views
0

Я пробовал телефонную связь API передачи файлов для загрузки файлов на удаленный сервер, и он работает нормально. Но у меня проблема с получением исходного пути к файлу. «ImageURI» возвращает временный путь, поэтому я попробовал «window.resolveLocalFileSystemURI», чтобы получить исходный путь. Но следующий код не возвращает никакого пути. Пожалуйста, помогите мне узнать, где я ошибаюсь.путь к исходному изображению из Phonegap Передача файлов API

<script> 

    function getphoto() { 

    navigator.camera.getPicture(uploadPhoto, function(message) {alert('get picture failed'); 
}, { quality:10, destinationType:navigator.camera.DestinationType.FILE_URI, sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY }); 

} 


    function uploadPhoto(imageURI) 
      { 

        window.resolveLocalFileSystemURI(imageURI, gotFileEntry, function(error){onfail(console.log("Error get fullPath"))}); 
      } 

function gotFileEntry(imageURI) { 
      alert("imageURI: "+imageURI); 
//not getting imageURI 
} 

</script> 

Благодаря

+0

Какое значение за получение оригинального путь_к_файлу? –

+0

Из имени файла мне нужно проверить, загружено ли изображение или нет. – Dev

+0

, а приведенный выше код показывает только jpg-изображения в телефоне при загрузке. Как я могу загрузить все типы изображений? – Dev

ответ

0

Я думаю, что это должно быть возможно, просто изменив расширение.

Проверьте следующие ссылки

  • Чтобы сделать снимок и сохранить его в локальной базе данных попробуйте Store Photo

  • Чтобы загрузить его на сервер с помощью веб-сервиса, попробуйте Upload to Server

Надежда что помогает.

+0

Большое спасибо за ответ. Но в этом решении имя изображения создается с текущим временем даты. Но мое требование - получить исходное имя изображения. Это возможно? И что касается другого типа изображения, возможно ли, что я могу указать расширение jpg и png вместе? – Dev

+0

1. Мне кажется, что захваченное фото с помощью камеры не может дать вам оригинальное имя файла. Таким образом, вы должны хранить изображение на SD-карте или 'localstorage'. Затем проверьте, загружено ли изображение или нет. 2. Для png изображений телефонная камера api имеет атрибут EncodingType. Обратитесь к [Документация по API-интерфейсу камеры] (http://docs.phonegap.com/en/1.0.0/phonegap_camera_camera.md.html) –

+0

Еще раз спасибо ... 2) Как мое приложение разрешает совместное использование .jpg & png. . – Dev

1

Следующий фрагмент кода может помочь вам .. :-) использовать imageData.nativeURL для первоначально путь к файлу

  navigator.camera.getPicture(onSuccess, onFail, { 
     quality : 75, 
     destinationType : Camera.DestinationType.FILE_URI, 
     sourceType : navigator.camera.PictureSourceType.SAVEDPHOTOALBUM , 
     mediaType : navigator.camera.MediaType.ALLMEDIA //all mediaFiles 
    }); 

    function onSuccess(imageData) { 
     window.resolveLocalFileSystemURI(imageData, gotFileEntry, 
      function(error){ 
       alert("Error get fullPath"); 
      } 
     ); 
     function gotFileEntry(imageURI) { 
     // alert("imageURI: "+JSON.stringify(imageURI)); 
     alert("imageURI: "+imageURI.nativeURL); 
     } 
    } 

    function onFail(message) { 
     alert('Failed because: ' + message); 
    }