Android平台实现Phonegap文件上传

移动开发
Android平台实现Phonegap文件上传是本文要介绍的内容,主要是来了解并学习Phonegap文件上传的实例,具体关于Phonegap的内容来看本文详解。

Android平台实现Phonegap文件上传是本文要介绍的内容,主要是来了解并学习Phonegap文件上传的实例,具体关于Phonegap的内容来看本文详解。

沿用官网提供的完整代码:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
  2. <html> 
  3. <head> 
  4.     <title>File Transfer Example</title> 
  5.  
  6.     <scripttypescripttype="text/javascript"charset="utf-8"src="phonegap.0.9.4.min.js"></script> 
  7.     <scripttypescripttype="text/javascript"charset="utf-8"> 
  8.  
  9.         // Wait for PhoneGap to load  
  10.         //  
  11.         document.addEventListener("deviceready", onDeviceReady,false);  
  12.  
  13.         // PhoneGap is ready  
  14.         //  
  15.         function onDeviceReady(){  
  16.  
  17.             // Retrieve image file location from specified source  
  18.             navigator.camera.getPicture(uploadPhoto,  
  19.                                         function(message){ alert('get picture failed');},  
  20.                                         { quality:50,  
  21.                                         destinationType: navigator.camera.DestinationType.FILE_URI,  
  22.                                         sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }  
  23.                                         );  
  24.  
  25.         }  
  26.  
  27.         function uploadPhoto(imageURI){  
  28.             var options =newFileUploadOptions();  
  29.             options.fileKey="file";  
  30.             options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);  
  31.             options.mimeType="image/jpeg";  
  32.  
  33.             var params =newObject();  
  34.             params.value1 ="test";  
  35.             params.value2 ="param";  
  36.  
  37.             options.params = params;  
  38.  
  39.             var ft =newFileTransfer();  
  40.             ft.upload(imageURI,"http://some.server.com/upload.php", win, fail, options);  
  41.         }  
  42.  
  43.         function win(r){  
  44.             console.log("Code = "+ r.responseCode);  
  45.             console.log("Response = "+ r.response);  
  46.             console.log("Sent = "+ r.bytesSent);  
  47.         }  
  48.  
  49.         function fail(error){  
  50.             alert("An error has occurred: Code = "= error.code);  
  51.         }  
  52.  
  53.         </script> 
  54. </head> 
  55. <body> 
  56.     <h1>Example</h1> 
  57.     <p>Upload File</p> 
  58. </body> 
  59. </html> 

其中已经过修改,因为在电脑虚拟机中 sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY会出错,还没在真机中测试过。

主要问题还是参数imageURI,android平台中imageURI是content://……形式得,不过phonegap已经在1.0.0rc2版本中fix了这个问题。

得到的fileEntry仍然无法使用的,ft.upload()中参数一imageURI,在android平台中的格式是fileEntry.fullPath.

本来想说根目录fileEntry.toURI()应该也行,但是测试证明,只有fileEntry.fullPath才能获得数据并成功上传。

看来phonegap还应该再多改进~

不过整体还是满意的~~参看了一些文档,似乎在iphone下会更麻烦一点~

所以说phonegap也不见得是写一次就可以通用的~~最简单的可能一次代码就可以通用~

但是涉及到一些进阶一点的也是需要再另外做功课的。

小结:Android平台实现Phonegap文件上传的内容介绍完了,希望通过Phonegap文件上传内容的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-05 15:09:06

Android平台Phonegap

2012-03-07 15:07:54

PhoneGapAndroid源码示例

2012-03-07 11:17:19

AndroidPhoneGap插件

2011-08-31 13:22:37

PhoneGapAndroidjavascript

2012-02-01 10:40:28

PhoneGap 1.

2012-07-06 13:50:44

跨平台工具Adobe Phone

2017-04-20 13:30:00

AndroidRetrofit 2文件上传

2009-07-14 17:20:31

Webwork文件上传

2011-07-19 08:50:17

PhoneGapwebOS

2011-07-22 08:34:37

PhoneGapSymbian

2011-07-15 15:54:38

PhoneGapiOS

2011-08-31 13:27:52

AndroidPhoneGap

2011-12-21 21:34:50

PhoneGapiOSAndroid

2011-12-23 10:02:37

PhoneGapAndroid插件

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2011-07-18 14:46:56

PhoneGapBlackBerry

2022-06-13 14:06:33

大文件上传前端

2011-12-23 09:53:24

PhoneGap

2011-09-02 13:30:43

Android SDKPhoneGap

2009-11-16 10:40:02

PHP上传文件代码
点赞
收藏

51CTO技术栈公众号