日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

html2canvas 截屏后上傳到服務(wù)器端(springmvc3)

 大芬油畫 2014-05-05
利用html2canvas截屏后可以生成base64類型的圖片,但是這樣的圖片很明顯不能被引用或者被SNS工具來分享。這樣就必須截屏后再上傳數(shù)據(jù)到后臺服務(wù)器端重新保存。

前端js代碼:

Java代碼  收藏代碼
  1. $("#saveImage").click(function() {  
  2.                 html2canvas($('#mypics'), {  
  3.                     onrendered : function(canvas) {  
  4.                         var myImage = canvas.toDataURL("image/jpeg");  
  5.                         //并將圖片上傳到服務(wù)器用作圖片分享  
  6.                         $.ajax({  
  7.                             type : "POST",  
  8.                             url : '${ctx}/qsupload',  
  9.                             data : {data:myImage},  
  10.                             timeout : 60000,  
  11.                             success : function(data){  
  12.                                 $('#myShowImage').attr('src''${ctxStatic}/usertemp/'+data+'.jpg'); //服務(wù)器上保存圖片路徑,data是返回的文件名。  
  13.                             }  
  14.                         });  
  15.                     }  
  16.                 });  
  17.             });  


后端代碼

Java代碼  收藏代碼
  1. import org.apache.commons.codec.binary.Base64;  
  2.   
  3. @RequestMapping(value = { "${frontPath}/qsupload" }, method = { RequestMethod.POST })  
  4.     @ResponseBody  
  5.     public String petUpgradeTarget(HttpServletRequest request, String data) {  
  6.         String serverPath = request.getSession().getServletContext()  
  7.                 .getRealPath("/");  
  8.         Base64 base64 = new Base64();  
  9.         try {  
  10.   
  11.       //注意點:實際的圖片數(shù)據(jù)是從 data:image/jpeg;base64, 后開始的  
  12.             byte[] k = base64.decode(data.substring("data:image/jpeg;base64,"  
  13.                     .length()));  
  14.             InputStream is = new ByteArrayInputStream(k);  
  15.             String fileName = UUID.randomUUID().toString();  
  16.             String imgFilePath = serverPath + "\\static\\usertemp\\" + fileName + ".jpg";  
  17.   
  18.                        //以下其實可以忽略,將圖片壓縮處理了一下,可以小一點  
  19.   
  20.             double ratio = 1.0;  
  21.             BufferedImage image = ImageIO.read(is);  
  22.             int newWidth = (int) (image.getWidth() * ratio);  
  23.             int newHeight = (int) (image.getHeight() * ratio);  
  24.             Image newimage = image.getScaledInstance(newWidth, newHeight,  
  25.             Image.SCALE_SMOOTH);  
  26.             BufferedImage tag = new BufferedImage(newWidth, newHeight,  
  27.                     BufferedImage.TYPE_INT_RGB);  
  28.             Graphics g = tag.getGraphics();  
  29.             g.drawImage(newimage, 00null);  
  30.             g.dispose();  
  31.             ImageIO.write(tag, "jpg"new File(imgFilePath));  
  32.             return fileName;  
  33.         } catch (Exception e) {  
  34.             return "error";  
  35.         }  
  36.     }  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多