这个问题主要是承接上文,上文说到,需要解析前端传递的base64字符串,转成文件并保存到文件服务器中,这就用到了base64转码等操作。刚开始没当回事觉得很常见,但是做的时候才各种坑。后续大家注意以下提到的点。
首先是base64Util工具类
主要的问题来源于引入jar包的种类,由于虽然本项目依赖于jdk1.8但是也要支持1.7的情况所以jdk1.8类库中的base无法使用。下面上代码。
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.imageio.stream.FileImageInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class base64Util {
/**
* base64转文件并输出到指定目录
* @param base64Str
* @param fileName
* @param filePath
* @return
*/
public static byte[] decode(String base64Str,String fileName,String filePath){
File file = null;
//创建文件目录
File dir=new File(filePath);
if (!dir.exists() && !dir.isDirectory())