1、MultipartFile转成File然后在转成base64
private String generateDocumentBase64(MultipartFile multipartFile) {
File file;
InputStream inputStream = null;
FileOutputStream outputStream = null;
try {
file = File.createTempFile("fileName", "pdf");//建临时文件
// 获取文件输入流
inputStream = multipartFile.getInputStream();
if (!file.exists()) {
file.createNewFile();
}
// 创建输出流
outputStream = new FileOutputStream(file);
byte[] bytes = new byte[1024];
int len;
// 写入到创建的临时文件
while ((len = inputStream.read(bytes)) > 0) {
outputStream.write(bytes, 0, len);
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
// 关流
try {
if (outputStream != null) {
outputStream.close();
}
if (outputStream != null) {
inputStream.close();
}
outputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
String documentBase64 = Base64.encode(file);
return documentBase64;
}
2、根据url下载File转成base64
public String getFileByHttpURL(String path) {
File file = null;
InputStream inputStream = null;
OutputStream outputStream = null;
try {
file = File.createTempFile("fileName", "pdf");//创建临时文件
URL urlFile = new URL(path);
inputStream = urlFile.openStream();
outputStream = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != outputStream) {
outputStream.close();
}
if (null != inputStream) {
inputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
String documentBase64 = Base64.encode(file);
return documentBase64;
}