MUI+AJAX+Spring MVC 实现照片拍摄和本地相册选取上传
http://blog.csdn.net/backzero333/article/details/58744798 (1)首先贴上的是JS代码 *拍照上传*/ function getImage() {var camera = plus.camera.getCamera(); //生成时间戳 var timestamp = Date.parse(new Date()); camera.captureImage(function(e) { plus.io.resolveLocalFileSystemURL(e,function(entry){ console.log('获取图片地址'); var imgUrl = entry.toLocalURL(); console.log("imgURL "+imgUrl); /*调用上传图片方法*/ uploadHead(imgUrl); },function(e){ console.log("读取拍照文件错误:" + e.message); mui.alert("读取拍照文件错误"); },function(e){ console.log("调用摄像头异常:" + e.message); mui.alert("调用摄像头异常"); },{ filename: timestamp+"-img.png" }); }); } /*本地相册上传*/ //上传图片 //将图片压缩转成base64 (2)后台处理代码
@ResponseBody @RequestMapping( value = "/img_upload") public WrapperResponseEntity imgUpload(@RequestParam String imgBase64Data,HttpServletRequest request){ WrapperResponseEntity entity = new WrapperResponseEntity(); try { if(imgBase64Data == null || "".equalsimgBase64Data)){ entitysetData("上传失败,上传图片数据为空!") } String projectPath = requestgetSessiongetServletContextgetRealPath"/" String context getContextPathString imgFilePath ="/userfiles/images/"File uploadPathFile File(projectPath+imgFilePath //创建父类文件 (!uploadPathFileexists() && !uploadPathFileisDirectory()){ uploadPathFilemkdirs File imgeFile +imgFilePathDategetTime+".jpg" if!imgeFile imgeFilecreateNewFile//对base64进行解码 byte[] result = Encodes.decodeBase64//使用Apache提供的工具类将图片写到指定路径下 FileUtils.writeByteArrayToFile(imgeFile entity(imgFilePath+imgeFilegetName())System.outprintln }catch (Exception e eprintStackTrace"上传失败,系统异常" return entity; }
/** * Base64解码. */ public static byte[] decodeBase64input) { return Base64inputgetBytes}说明:这里只能实现单张图片的上传。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |