base64生成文件
/**
* base64 生成文件
* @param base64
* @param fileName
* @return
* @throws IOException
*/
public boolean decryptByBase64(String base64, String fileName) throws IOException {
String suffix = fileName.substring(fileName.lastIndexOf("."));;
File tempFile = File.createTempFile("elh", suffix);
String filePath = tempFile.getPath();
if (base64 == null && filePath == null) {
log.error("生成文件失败,请给出相应的数据。");
return false;
}
try {
//先在本地生成文件
Files.write(Paths.get(filePath), Base64.getMimeDecoder().decode(base64.substring(base64.indexOf(",") + 1)), StandardOpenOption.CREATE);
//上传ftp
Ftp ftp = new Ftp(ftpServer,21,name,password);
ftp.upload(remoteFile, fileName, FileUtil.file(filePath));
} catch (IOException e) {
e.printStackTrace();
} finally {
tempFile.delete();
}
return true;
}
文件生成base64
/**
* 文件生成base64
* @param fileName
* @return
*/
public String encryptToBase64(String fileName) throws IOException {
String suffix = fileName.substring(fileName.lastIndexOf("."));;
File tempFile = File.createTempFile("elh", suffix);
try {
Ftp ftp = new Ftp(ftpServer,21,name,password);
ftp.download(remoteFile, fileName, FileUtil.file(tempFile));
byte[] b = Files.readAllBytes(Paths.get(tempFile.getPath()));
return Base64.getEncoder().encodeToString(b);
} catch (IOException e) {
e.printStackTrace();
} finally {
tempFile.delete();
// tempFile.deleteOnExit();//程序退出时删除临时文件
}
return null;
}