package cn.gov.hbmsa.ydbg.api.rest;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.codec.binary.Base64;
import cn.gov.hbmsa.core.util.SerializeUtil;
public class BjNewsController {
//文件转换为Base64
public String EncodeBase64(String filePath){
String base64 = null;
InputStream in = null;
try {
in = new FileInputStream(filePath);
byte[] bytes = toByteArray(in);
base64 = Base64.encodeBase64String(bytes);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//由于我前端需要接收的是Json,所以需要提前转一下格式
base64 = SerializeUtil.Object2JSON(base64);
return base64;
}
//Base64转换为文件
public void DecodeBase64(String base64){
FileOutputStream out = null;
try {
// 解码,然后将字节转换为文件
byte[] buffer = Base64.decodeBase64(base64);
out = new FileOutputStream("/opt/2.wps");
out.write(buffer);
} catch (Exception ioe) {
ioe.printStackTrace();
}finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static byte[] toByteArray(InputStream in) throws IOException {
ByteArrayOutputStream out=new ByteArrayOutputStream();
byte[] buffer=new byte[1024*4];
int n=0;
while ( (n=in.read(buffer)) !=-1) {
out.write(buffer,0,n);
}
return out.toByteArray();
}
}