springmvc:base64编码实现图片上传至服务器
问题:将前端返回的base64图片编码进行解码,并将图片保存至服务器 代码如下:
@ResponseBody @RequestMapping(value = "/insertCgComment", method = RequestMethod.POST) public int insertCgComment(String base64Data, HttpServletRequest request) throws IOException { String data = ""; data = base64Data.split("base64,")[1];//获取base64的图片部分 byte[] bs = Base64Utils.decodeFromString(data);//base64解码 String filepath = request.getSession().getServletContext().getRealPath("/static");//获得根目录下的static文件路径 System.out.println(filepath); String filename = filepath + File.separator + new SimpleDateFormat("yyyyMMddHHmmssSSS") .format(new Date()) + (new Random().nextInt(9000) % (9000 - 1000 + 1) + 1000) + ".png"; ; //用上传时间表示文件名防止冲突 System.out.println(filename); //创建文件 File imageFile = new File(filename); if(!imageFile.exists()){ imageFile.createNewFile(); } //将二进制写入文件 OutputStream imageStream = new FileOutputStream(filename); imageStream.write(bs); imageStream.flush(); imageStream.close(); return 1; }
可能出现的问题:点击跳转至解决方法
3.图片上传至服务器后无法访问 在springmvc.xml中插入
<!-- Spring MVC不处理静态资源 --> <mvc:default-servlet-handler />
下一篇:
使用frp搭建内网穿透服务