您的位置:首页 > 其它

高效率,将上传图片至服务器

2016-07-04 11:40 253 查看
上一篇文章中,知道了如何获取本地图片路径并显示在界面上。

1,将获取到的文件转为base64位

2,将base64图片格式转为图片文件保存到服务器上,或直接保存base64格式(这个看自己的需求咯)

js:

function appendFile(path){//将获取到的文件转为base64位,传入图片路径

  var img = new Image();

      img.src = path;        // 传过来的图片路径在这里用。

      img.onload = function () {

          var that = this;

          //生成比例 

          var w = that.width,

              h = that.height,

              scale = w / h; 

              w = 480 || w;    //480 现在手机随便拍张照片都几M,所以压缩一下!  你想压缩到多大,改这里

              h = w / scale;

          //生成canvas

          var canvas = document.createElement('canvas');//创建画布绘画图片
  var ctx = canvas.getContext('2d');

          $(canvas).attr({width : w, height : h});

          ctx.drawImage(that, 0, 0, w, h);

          var base64 = canvas.toDataURL('image/jpeg', 1 || 0.8 );   //1最清晰,越低越模糊。有一点不清楚这里明明设置的是jpeg。弹出 base64 开头的一段 data:image/png;却是png。

//base64  ------------>这个就是图片base64格式了

         

    }

}

java:

     BASE64Decoder decoder = new BASE64Decoder();

     FileOutputStream write = new FileOutputStream(new File("C:/xx/test2.png"));//文件保存地址

     byte[] decoderBytes = decoder.decodeBuffer(urlbase64.toString());//转为字节

     write.write(decoderBytes);//用IO写出来就行啦 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: