七牛云存储____js打水印加上传图片

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--  资源引用 -->
<script src="qnb64watermark/jquery-1.9.1.js"></script>
<script src="qnb64watermark/polyfill.js"></script>
<script src="qnb64watermark/watermark.js"></script>
<script src="qnb64watermark/highlight.min.js"></script>
<script src="qnb64watermark/tokenTools.js"></script>
<link rel="stylesheet" href="qnb64watermark/style.css">
<script type="text/javascript" src="qnb64watermark/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css"	href="qnb64watermark/jquery-ui.css">


<script>hljs.initHighlightingOnLoad();</script>

</head>
<body>
 <img id="image"src=""/>
<br/>
 <input type="file" id="filename" />
 <input type="button" οnclick="selectImage();" value="上传ccccccccc">
<br/>
<script>
	var rotate = function(target) {
		  var context = target.getContext('2d');
		  var text = "www.水印.com";
		  var metrics = context.measureText(text);
		  var x = (target.width / 2) - (metrics.width + 12);
		  var y = (target.height / 2) + 48 * 2;
		  context.translate(x, y);
		  context.globalAlpha = 1.2;
		  context.fillStyle = '#FFFFFF';
		  context.font = '40px Josefin Slab';
		  context.rotate(-40 * Math.PI / 180);
		  context.fillText(text, 0, 0);
		  return target;
	};
	function selectImage() {
		var file=document.getElementById("filename");
		var reader = new FileReader();
		reader.onload = function(evt) {
			imagesrc = evt.target.result;
			var text = watermark.text;
			watermark([ imagesrc ]).image(rotate).then(function(img) {
				var imgsrc=img.src.replace("data:image/png;base64,", "");
			 	var b64key=base64encode(new Date().getTime()+".jpg");
				qnb64Upload(imgsrc,b64key);
				var pre = document.querySelector('#lower-left pre');
				pre.parentNode.insertBefore(img, pre);
			});
		};
		reader.readAsDataURL(file.files[0]);
	}
	function qnb64Upload(imgsrc,b64key){
		var pic = imgsrc;
	    var url = "http://up.qiniu.com/putb64/-1/key/"+b64key; 
		var xhr = new XMLHttpRequest();
		xhr.onreadystatechange = function(response) {
			if (xhr.readyState == 4 && xhr.status == 200&& xhr.responseText != "") {
				var blkRet = JSON.parse(xhr.responseText);
				$("#dialog").html("http://oleco2u3s.bkt.clouddn.com/" + blkRet.key).dialog();
			} else if (xhr.status != 200 && xhr.responseText) {
				console.log("服务传输异常!!");
			}
		};
		xhr.open("POST", url, true); 
		xhr.setRequestHeader("Content-Type", "application/octet-stream"); 
		xhr.setRequestHeader("Authorization", "UpToken 1o90vmY9OmRcueIeIeFBID6q2uy8peFiFBxpnM78:rdalpapK8yThJayH3FakQwqQbp8=:eyJzY29wZSI6InRlc3QiLCJkZWFkbGluZSI6MTYwNTA2NDI3MX0="); 
		xhr.send(pic);
	}		
</script>

  <div class="container">
    <div class="col-xs-12">
		<div class="example" id="lower-left">
	        <pre>          
	        	
	        </pre>
	    </div>
    </div>
    <div id="dialog" title="上传成功"></div>
  </div>
  
  
</body>
</html>
//源码包下载
http://oleco2u3s.bkt.clouddn.com/markupload.rar
//运行结果
 



posted @ 2017-02-15 17:43  蜜獾互联网  阅读(3)  评论(0编辑  收藏  举报  来源