Pdf与Base64编码之间的转换

Pdf与Base64编码之间的转换

分类:Java基础

在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法: Base64编码转换为pdf:

/*** Description: 将base64编码内容转换为Pdf* @param base64编码内容,,文件的存储路径(含文件名)* @Author fuyuwei* Create Date: 2015年7月30日 上午9:40:23*/(String base64Content,String filePath){BASE64Decoder decoder = new BASE64Decoder();BufferedInputStream bis = null;FileOutputStream fos = null;BufferedOutputStream bos = null;try {byte[] bytes = decoder.decodeBuffer(base64Content);//base64编码内容转换为字节数组ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes);bis = new BufferedInputStream(byteInputStream);File file = new File(filePath);File path = file.getParentFile();if(!path.exists()){path.mkdirs();}fos = new FileOutputStream(file);bos = new BufferedOutputStream(fos);byte[] buffer = new byte[1024];int length = bis.read(buffer);while(length != -1){bos.write(buffer, 0, length);length = bis.read(buffer);}bos.flush();} catch (Exception e) {e.printStackTrace();}finally{closeStream(bis, fos, bos);}}

pdf转换为Base64编码:

/*** Description: 将pdf文件转换为Base64编码* @param 要转的的pdf文件* @Author fuyuwei* Create Date: 2015年8月3日 下午9:52:30*/public static String PDFToBase64(File file) {BASE64Encoder encoder = new BASE64Encoder();FileInputStream fin =null;BufferedInputStream bin =null;ByteArrayOutputStream baos = null;BufferedOutputStream bout =null;try {fin = new FileInputStream(file);bin = new BufferedInputStream(fin);baos = new ByteArrayOutputStream();bout = new BufferedOutputStream(baos);byte[] buffer = new byte[1024];int len = bin.read(buffer);while(len != -1){bout.write(buffer, 0, len);len = bin.read(buffer);}//刷新此输出流并强制写出所有缓冲的输出字节bout.flush();byte[] bytes = baos.toByteArray();return encoder.encodeBuffer(bytes).trim();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {fin.close();bin.close();bout.close();} catch (IOException e) {e.printStackTrace();}}return null;}

我们在直接使用这两个类的时候,Eclipse会报错: BASE64Encoder encoder = new sun.misc.BASE64Encoder(); BASE64Decoder decoder = new sun.misc.BASE64Decoder(); 解决方法如下: 右击项目—->build path—–>configure build path

点击OK,保存

上一篇ExtJS的预配置类使用下一篇ExtJS的History使用

顶0踩0

才会看到属于自己的那一片晴朗的天空。

Pdf与Base64编码之间的转换

相关文章:

你感兴趣的文章:

标签云: