在Android平臺中實現(xiàn)Phonegap文件上傳
在Android平臺中實現(xiàn)Phonegap文件上傳是本文要介紹的內(nèi)容,主要是來了解并學習Phonegap的應用,那么本文通過一個簡單的實例來講解Phonegap的應用,具體內(nèi)容的實現(xiàn)來看本文詳解。
沿用官網(wǎng)提供的完整代碼:
- //WaitforPhoneGaptoload
- //
- document.addEventListener("deviceready",onDeviceReady,false);
- //PhoneGapisready
- //
- functiononDeviceReady(){
- //Retrieveimagefilelocationfromspecifiedsource
- navigator.camera.getPicture(uploadPhoto,
- function(message){alert('getpicturefailed');},
- {quality:50,
- destinationType:navigator.camera.DestinationType.FILE_URI,
- sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY}
- );
- }
- functionuploadPhoto(imageURI){
- varoptions=newFileUploadOptions();
- options.fileKey="file";
- options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
- options.mimeType="image/jpeg";
- varparams=newObject();
- params.value1="test";
- params.value2="param";
- options.params=params;
- varft=newFileTransfer();
- ft.upload(imageURI,"http://some.server.com/upload.php",win,fail,options);
- }
- functionwin(r){
- console.log("Code="+r.responseCode);
- console.log("Response="+r.response);
- console.log("Sent="+r.bytesSent);
- }
- functionfail(error){
- alert("Anerrorhasoccurred:Code="=error.code);
- }
Example
UploadFile
其中已經(jīng)過修改,因為在電腦虛擬機中sourceType:navigator.camera.PictureSourceType.PHOTOLIBRARY會出錯,還沒在真機中測試過。
主要問題還是參數(shù)imageURI,andriod中imageURI是content://……形式得,不過phonegap已經(jīng)在1.0.0rc2版本中fix了這個問題。
得到的fileEntry仍然無法使用的,ft.upload()中參數(shù)一imageURI,在android平臺中的格式是fileEntry.fullPath.
本來想說根目錄fileEntry.toURI()應該也行,但是測試證明,只有fileEntry.fullPath才能獲得數(shù)據(jù)并成功上傳。
看來phonegap還應該再多改進~
不過整體還是滿意的~~參看了一些文檔,似乎在iphone下會更麻煩一點~
所以說phonegap也不見得是寫一次就可以通用的~~最簡單的可能一次代碼就可以通用~
但是涉及到一些進階一點的也是需要再另外做功課的。
大家有空多逛逛phonegap.cn一起討論下~
小結:在Android平臺中實現(xiàn)Phonegap文件上傳內(nèi)容介紹完了,希望通過本文的學習能對你有所幫助!