js压缩上传的图片,并转化为base64字符串传输
2016-05-26 11:43
871 查看
//前台代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>微信上传图片</title>
</head>
<body style="background:pink;">
<div style="text-align: center;background:url(online.png);height: 320px;width:320px;border:1px solid red;">
<input type="file" id="uploadphoto" name="file" value="上传" accept="image/*" capture="camera" style="opacity: 0;height: 320px;width:320px;border: 0;"/>
</div>
<body style="background:pink;">
<div style="text-align: center;background:url(online.png);height: 320px;width:320px;border:1px solid red;">
<input type="file" id="uploadphoto2" name="file" value="上传" accept="image/*" capture="camera" style="opacity: 0;height: 320px;width:320px;border: 0;"/>
</div>
<hr>
<img src="online.png" id="prevImg1"/>
<img src="online.png" id="prevImg2"/>
<hr>
<!-- 示例地址 -->
<!-- http://www.imwinlion.com/archives/158 -->
<div style="height:50px;width:50px;background:red;" class="loading"></div>
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" ></script>
<script type="text/javascript" src="LocalResizeIMG.js"></script>
<script type="text/javascript" src="mobileBUGFix.mini.js"></script>
<script>
var pic1;//名片
var pic2;//照片
//得到名片压缩并得转化为base64
$('#uploadphoto').localResizeIMG({
width: 640,
quality: 1,
success: function (result) {
pic1 = result.clearBase64;
$("#prevImg1").attr("src",result.base64);
}
});
//得到照片片压缩并得转化为base64
$('#uploadphoto2').localResizeIMG({
width: 640,
quality: 1,
success: function (result) {
data2 = result.clearBase64;
$('.loading').show();
$("#prevImg2").attr("src",result.base64);
}
});
// 点击按钮上传报名数据
$('.loading').click(function(){
var name = $("#name").val();//用户名
var xunyan = $("#xunyan").val();//宣言
var data = {name:name,xunyan:xunyan,pic1:pic1,pic2:pic2};//将报名数据传给后台
$.ajax({
type: "POST",
url: "up.php",
data: data,
dataType:"json",
success: function(data){
var data = eval("("+data+")");
alert(data);
},
error:function(XMLHttpRequest, textStatus, errorThrown){ //上传失败
alert(1)
console.log(errorThrown);
}
});
})
</script>
</body>
</html>
//需要用到的插件
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" ></script>
<script type="text/javascript" src="LocalResizeIMG.js"></script>
<script type="text/javascript" src="mobileBUGFix.mini.js"></script>
//后台代码
<?php
$POSTT = $_POST['pic1'];
$img = base64_decode($POSTT);
$a = file_put_contents('./test3.jpg', $img);//返回的是字节数
echo ($a);
?>
附件中有完整例子
附件地址:http://pan.baidu.com/s/1c2Bed8k
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>微信上传图片</title>
</head>
<body style="background:pink;">
<div style="text-align: center;background:url(online.png);height: 320px;width:320px;border:1px solid red;">
<input type="file" id="uploadphoto" name="file" value="上传" accept="image/*" capture="camera" style="opacity: 0;height: 320px;width:320px;border: 0;"/>
</div>
<body style="background:pink;">
<div style="text-align: center;background:url(online.png);height: 320px;width:320px;border:1px solid red;">
<input type="file" id="uploadphoto2" name="file" value="上传" accept="image/*" capture="camera" style="opacity: 0;height: 320px;width:320px;border: 0;"/>
</div>
<hr>
<img src="online.png" id="prevImg1"/>
<img src="online.png" id="prevImg2"/>
<hr>
<!-- 示例地址 -->
<!-- http://www.imwinlion.com/archives/158 -->
<div style="height:50px;width:50px;background:red;" class="loading"></div>
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" ></script>
<script type="text/javascript" src="LocalResizeIMG.js"></script>
<script type="text/javascript" src="mobileBUGFix.mini.js"></script>
<script>
var pic1;//名片
var pic2;//照片
//得到名片压缩并得转化为base64
$('#uploadphoto').localResizeIMG({
width: 640,
quality: 1,
success: function (result) {
pic1 = result.clearBase64;
$("#prevImg1").attr("src",result.base64);
}
});
//得到照片片压缩并得转化为base64
$('#uploadphoto2').localResizeIMG({
width: 640,
quality: 1,
success: function (result) {
data2 = result.clearBase64;
$('.loading').show();
$("#prevImg2").attr("src",result.base64);
}
});
// 点击按钮上传报名数据
$('.loading').click(function(){
var name = $("#name").val();//用户名
var xunyan = $("#xunyan").val();//宣言
var data = {name:name,xunyan:xunyan,pic1:pic1,pic2:pic2};//将报名数据传给后台
$.ajax({
type: "POST",
url: "up.php",
data: data,
dataType:"json",
success: function(data){
var data = eval("("+data+")");
alert(data);
},
error:function(XMLHttpRequest, textStatus, errorThrown){ //上传失败
alert(1)
console.log(errorThrown);
}
});
})
</script>
</body>
</html>
//需要用到的插件
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js" ></script>
<script type="text/javascript" src="LocalResizeIMG.js"></script>
<script type="text/javascript" src="mobileBUGFix.mini.js"></script>
//后台代码
<?php
$POSTT = $_POST['pic1'];
$img = base64_decode($POSTT);
$a = file_put_contents('./test3.jpg', $img);//返回的是字节数
echo ($a);
?>
附件中有完整例子
附件地址:http://pan.baidu.com/s/1c2Bed8k
相关文章推荐
- js报错:Ajax 中onreadystatechange在ie7及以上浏览器兼容吗,为什么没有反应?求大神
- Javascript学习笔记part1(Table单元格相同数据自动合并)补充
- JS常用方法
- 怎么引入(调用)一个JS文件
- 淘宝京东购物车价格计算,商品店铺联动js
- 解析数组json
- JS加载器如何动态加载外部js文件
- JS设计模式之构造函数模式
- 汉字转换为拼音的JavaScript库
- JavaScript 基础
- JS中完美兼容各大浏览器的scrolltop方法
- Data获取字节数据,组成字符串出错 rapidjson解析出错
- JS中语句的另类写法。
- Javascript 严格模式详解
- js前台判断开始时间是否小于结束时间
- JS 学习计算器编写
- Web版 扫雷 JS实现
- 循环取到json中的字段数据,加到html中
- js 事件绑定函数与this的使用
- javascript删除元素节点