phonegap文件上传(java_php),使用PhoneGap裁剪和压缩图片并上传(安卓版)

安装phonegap的camera插件后,可以对从图片库选择图片进行裁剪或压缩操作,但插件本身有些问题,经过改进,现在可以顺利完成上述功能。

安装方法

1 首先使用命令行安装camera插件:

phonegap plugin add org.apache.cordova.camera

2 安装成功后,下载下面的CameraLauncher.java文件,将插件包中的同名文件替换掉:

使用方法

1 裁剪图片。下面的代码演示了完整的将图片裁剪为100*100并上传到服务端的过程,请注意高亮的部分:

$(function(){

$(‘#b1‘).click(function(){

navigator.camera.getPicture(function(imgData){

$(‘#pInfo‘).html(imgData);

//$(‘#img‘).attr(‘src‘,imgData);

var options = new FileUploadOptions();

options.fileKey="file";

options.fileName="test.jpg";

options.mimeType="image/jpeg";

var ft = new FileTransfer();

ft.upload(imgData, encodeURI("http://...test.php"), win, fail, options);

}, function(){

}, { quality:50,

destinationType: Camera.DestinationType.FILE_URL ,

sourceType : 0,

//====关键设置=======================================

allowEdit:true, //出现裁剪框

targetWidth:100,//图片裁剪高度

targetHeight:100 });//图片裁剪高度

//======关键设置=========================================

});

//上传成功的回调

var win = function(r) {

console.log(r);

}

//上传失败的回调

var fail = function(error) {

alert("上传失败");

}

});

2 压缩图片。下面的代码演示了将图片大小限制在768*1280以内并上传的过程,最后图片不一定都是768*1280,但宽高都不会超过设置的值,请注意高亮部分:

$(function(){

$(‘#b1‘).click(function(){

navigator.camera.getPicture(function(imgData){

$(‘#pInfo‘).html(imgData);

//$(‘#img‘).attr(‘src‘,imgData);

var options = new FileUploadOptions();

options.fileKey="file";

options.fileName="test.jpg";

options.mimeType="image/jpeg";

var ft = new FileTransfer();

ft.upload(imgData, encodeURI("http://...test.php"), win, fail, options);

}, function(){

}, {

quality:50,

destinationType: Camera.DestinationType.FILE_URL ,

sourceType : 0,

//=====关键部分=========================================

targetWidth:768, //图片输出宽度

targetHeight:1280 //图片输出高度

//======关键部分==========================================

});

});

//上传成功的回调

var win = function(r) {

console.log(r);

}

//上传失败的回调

var fail = function(error) {

alert("上传失败");

}

});

上面的例子含有文件上传,如果需要测试完整的例子,你还需要安装File Transfer插件,文件上传的服务端代码和普通的表单上传没有分别。

欢迎和我交流,任何问题或改进建议请留言或加我QQ:291445576(说明来意) ~

原文:http://my.oschina.net/crazymus/blog/347155

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值