html5手机相机拍照压缩上传php,HTML5+APP 拍照压缩上传

Hello H5+

var server = "http://192.168.1.199/uploaddemo/uploadmore.php";

var files = [];

// 上传文件

function upload() {

if(files.length <= 0) {

plus.nativeUI.alert("没有添加上传文件!");

return;

}

var wt = plus.nativeUI.showWaiting();

var task = plus.uploader.createUpload(server, {

method: "POST"

},

function(t, status) { //上传完成

if(status == 200) {

alert("上传成功")

console.log(t.url) //http://192.168.1.199/uploaddemo/uploadmore.php

wt.close();

} else {

alert("fail")

wt.close();

}

}

);

task.addData("client", "HelloH5+");

task.addData("uid", getUid());

for(var i = 0; i < files.length; i++) {

var f = files[i];

task.addFile(f.path, {

key: f.name

});

}

task.start();

};

// 拍照添加文件

function appendByCamera() {

var cmr = plus.camera.getCamera();

cmr.captureImage(function(p) {

alert(p)//p:_doc/1519.jpg

compress(p);

appendFile(p);

});

}

// 从相册添加文件

function appendByGallery() {

plus.gallery.pick(function(p) {

compress(p);

appendFile(p);

});

}

//压缩图片

function compress(p) {

console.log(p)

plus.zip.compressImage({

src: p,

dst: p,

width: "50%", // 缩小到原来的一半

overwrite: true

},

function() {

alert("Compress success!");

},

function(error) {

console.log("Compress error!" + error);

});

}

// 添加文件

var index = 1;

function appendFile(p) {

var fe = document.getElementById("files");

var li = document.createElement("li");

var n = p.substr(p.lastIndexOf('/') + 1);

li.innerText = n;

fe.appendChild(li);

files.push({

name: "uploadkey" + index,

path: p

});

index++;

empty.style.display = "none";

}

// 产生一个随机数

function getUid() {

return Math.floor(Math.random() * 100000000 + 10000000).toString();

}

Uploader

上传文件列表:

无上传文件

拍照
相册选取
上 传

后台php代码uploadmore.php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$ret=array('strings'=>$_POST,'error'=>'0');

$fs=array();

foreach ( $_FILES as $name=>$file ) {

$fn=$file['name'];

$ft=strrpos($fn,'.',0);

$fm=substr($fn,0,$ft);

$fe=substr($fn,$ft);

$fp='upload/'.$fn;

$fi=1;

while( file_exists($fp) ) {

$fn=$fm.'['.$fi.']'.$fe;

$fp='files/'.$fn;

$fi++;

}

move_uploaded_file($file['tmp_name'],$fp);

$fs[$name]=array('name'=>$fn,'url'=>$fp,'type'=>$file['type'],'size'=>$file['size']);

}

$ret['files']=$fs;

echo json_encode($ret);

}else{

echo "{'error':'Unsupport GET request!'}";

}

?>

主要用到html5+拍照与压缩插件

在拍照成功后会返回图片保存的路径,如上面的p参数,在压缩图片时要用到p,overwrite: true不能省略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值