Pdf与Base64编码之间的转换
来源:互联网 发布:python 画图 编辑:程序博客网 时间:2024/05/17 21:06
在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法:
Base64编码转换为pdf:
/** * Description: 将base64编码内容转换为Pdf * @param base64编码内容,文件的存储路径(含文件名) * @Author fuyuwei * Create Date: 2015年7月30日 上午9:40:23 */ public static void base64StringToPdf(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,保存
1 0
- Pdf与Base64编码之间的转换
- Pdf与Base64编码之间的转换
- c#中int32与byte[]之间的互换,以及base64编码的转换
- c#中int32与byte[]之间的互换,以及base64编码的转换
- java BASE64与字符串之间的转换
- bitmap与base64之间的转换
- 图片与base64之间的相互转换
- base64字符串与图片之间的转换
- java RSA公私钥与其base64编码之间的转换
- java RSA公私钥与其base64编码之间的转换
- PDF与TXT之间的转换
- base64图片编码大小与原图文件大小之间的联系
- 文件与base64与字符串之间的转换
- Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换
- Base64 UIImage之间的转换
- Base64编码的字符串与图片的转换 C#
- Base64编码的字符串与图片的转换 C#
- Base64编码的字符串 与 图片的 转换
- java 各种规范的地址 包括 java se 与java ee
- Android SDK下载网址
- CS281: Advanced Machine Learning 第三节 高斯模型
- 【数据说】微信更深,QQ更宽
- O2O的死亡名单,互联网+还能走多远
- Pdf与Base64编码之间的转换
- 极坐标转换为直角坐标
- String连接的简单性能测试
- wampserver黄色图标变成红色图标,无法正常启动
- setTimeout延时带参的函数
- UI 03 自定义的Label-TextField视图 --- LTView
- Sort Colors
- MySQL学习笔记2数据类型主键自动增长
- POJ 3233 Matrix Power Series(矩阵的快速幂)