前台传base64格式的图片,后台来接受处理.

1.首先你得知道前台传的是什么玩意.

   


	

前台最终转的结果是:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/......是这样的.也就是说

data:+文件格式+";"+base64+","+核心数据.

取到了转码后的数据,那么传给后台,后台怎么解决呢?

2.后台怎么解析Base64

其实这跟后台不后台没有什么关系,关键是你得理解什么是base64,什么是文件.

base64只是字节的编码方式.文件是字节的数据集.

想要转成文件,那么就只需要解码成字节数组,然后通过字节流写成文件即可.如下图代码,

/**
		 * 1.获取到后面到数据
		 */
		String data = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD....";
		String base64Data =  data.split(",")[1];
		/**
		 * 2.解码成字节数组
		 */
		Decoder decoder = Base64.getDecoder();
		byte[] bytes = decoder.decode(base64Data);
		/**
		 * 3.字节流转文件
		 */
		FileOutputStream fos = null;
				try {
					fos = new FileOutputStream("E:\\aaa.jpg");
					fos.write(bytes);
					return name;
				} catch (IOException e) {	
					e.printStackTrace();
				} finally {
					if (fos != null){
						try {
							fos.close();
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}	

即可.

你可能感兴趣的:([web]服务端,[web]前端_js)