app客户端上传图片实现方式
2017-09-13 16:19
316 查看
解决思路:
方法一:将图片Base64编码成字符串提交到服务器,然后服务器将提交过来的Base64编码字符串解码成图片。
方法二:采用表单方式提交图片,主要使用FileReader和FormData类
formData保存图片
拍照
相册选取
取消
服务器端servlet代码:
方法一:将图片Base64编码成字符串提交到服务器,然后服务器将提交过来的Base64编码字符串解码成图片。
方法二:采用表单方式提交图片,主要使用FileReader和FormData类
方案一:
图片压缩base64编码成字符串:
/*压缩图片并将图片转换成base64,以便ajax提交数据 path:图片的路径*/ function toBase64Image(path){ var img = new Image(); img.src = path; img.onload = function(){ var that = this; //生成比例 var w = that.width, h = that.height, scale = w / h; w = 720 || w; //720 你想压缩到多大,改这里 h = w / scale; //console.log("w:"+w +" h:"+h); // 生成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 base64Picture = canvas.toDataURL('image/png', 1 || 0.8 ); console.log("图片的base64:"+base64Picture); } }
demo 截图
拍照|选择图片上传demo 源码
上传图片 保存图片
formData保存图片
拍照
相册选取
取消
服务器端接收客户端上传的图片base64编码:
@RequestMapping(value = "uploadData", method = {RequestMethod.POST}, produces = { "application/json;charset=UTF-8" }) @ResponseBody public String uploadData(HttpServletRequest request) throws Exception { String url = ParamConst.QUERY_ASSET_CARD; String base64Image = request.getParameter("base64Image"); //图base64编码字符串 String pictureName = request.getParameter("pictureName"); String base64img = base64Image.substring(22, base64Image.length());//去掉base64前面22个字符 data:image/png;base64,是固定值 logger.info("图片的名称:"+pictureName); logger.info(base64img); //保存图片路径 String savePath = request.getRealPath("/")+"resources\\platform\\images\\"; String filePath = savePath ; logger.info(" 图片保存路径:"+ savePath); //保存图片 Base64Image.GenerateImage(base64img, savePath, pictureName); ... .... ..... } }
Base64编码解码类:将指定的图片base64编码成字符串,将base64编码字符解码生成图片
empty
方案二:
客户端截图:服务器端servlet代码:
相关文章推荐
- Android选取图片并上传的一种实现方式
- [AS3]纯AS代码实现可预览本地图片的flash上传客户端[转]
- php实现base64图片上传方式
- PHP批量上传图片的具体实现方式
- .NET自定义多文件(图片)上传的实现方式
- struts2 图片上传至服务器 页面预览及页面及时图片预览功能实现方式
- 纯AS代码实现可预览本地图片的flash上传客户端
- php上传图片客户端和服务器端实现方法
- 用Web Service实现客户端图片上传到网站
- ios 实现图片上传的2种方式
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
- .Net语言 APP开发平台——Smobiler学习日志:快速实现应用中的图片、声音等文件上传功能
- java 两种上传文件(图片)方式(app通过流上传)+服务端获取方式(多图上传,普通文本上传,图片压缩)
- Volley-XUtils-OkHttp三种方式实现单张多张图片上传
- 建议DuDu:实现上传图片能够以目录方式存放.
- PHP使用curl请求实现post方式上传图片文件功能示例
- oracle的blob对象在客户端转化为java.sql.Blob,实现上传图片功能,同时将图片在客户端显示案例
- php实现curl请求以post方式上传图片文件
- app实现上传图片
- Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片