js实现图片压缩

<html>
	<head>
		<meta charset="UTF-8">
		<title>商品发布</title>
		<script>
			 var image = '';
			 var base64="";
			 function selectImage(file){
				    if(!file.files || !file.files[0]){
				    	return;
					}
				    var reader = new FileReader();
					 reader.onload = function(evt){
					 document.getElementById('image').src = evt.target.result;
					 image = evt.target.result;
					  document.getElementById('image').οnlοad=function(){
					  	if(file.files[0].size>100000){//当图片的大小大于100k的时候进行压缩
					  		alert("图片过大"+"大小为:"+file.files[0].size+",自行裁剪50KB");
					  		var h=document.getElementById('image').naturalHeight;
						  	var w=document.getElementById('image').naturalWidth;
						  	canvas = document.createElement("canvas");
							ctx = canvas.getContext('2d');
							var c=50000/file.files[0].size; 
							/*c是压缩比率*/
							alert(c);
							canvas.width = w*c;
	                        canvas.height = h*c;
	                        ctx.drawImage(document.getElementById('image'), 0, 0, canvas.width, canvas.height);//alert(h+" "+w);
	                        //fileUpload();
	                         var quality = 1;
	                        base64 = canvas.toDataURL('image/jpeg', quality );
	                        alert(base64);
	                        document.getElementById("image2").src=base64;
	                        
					  	}/*如果图片过大就压缩*/
					  	
					  }
					}
				reader.readAsDataURL(file.files[0]);
			}
			 function uploadImage(){
				var city = document.getElementById("product-class");    
				
				$.ajax({
					 type:'POST',
					 url: 'http://47.93.97.159/anuweb/servlet/putproduct', 
					 data: {image: base64,sno:$("#product-sno").val(),qq:$("#product-qq").val(),name:$("#product-name").val(),message:$("#product-m").val(),pclass:city.options[city.selectedIndex].innerText},
					 async: false,
					 dataType: 'json',
					 success: function(data){
					if(data.success){		
					   alert('上传成功');	
					}else{
					   alert('上传失败');
					}
					},
					error: function(err){
					//alert('网络故障');
					}
				});/*上传商品信息*/
				/*跳转回去*/
				$("#body").load("myself.html");
				alert("发布成功!");
			/*跳转回去*/
			}	
			
			
			$(function(){
				/*设置商品图片*/
				$("#product-pic img").click(function(){
					$("#product-pic input").click();
				})/*设置商品图片*/
			})
		</script>
	</head>
	<body>
		<ul id="product-message">
			<li>
				<h4>商品图片:</h4>
				<div id="product-pic">
					 <img id="image"src="img/product-message.png" />
					 <input type="file" οnchange="selectImage(this);" style="display: none;"/>
					 <img id="image2"/>
				</div>
			</li>
			<li class="text-center">
			    <button class="btn btn-primary" οnclick="uploadImage();">提    交</button>
			</li>
		</ul>
	</body>
</html>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不染心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值