Pdf与Base64编码之间的转换
2017-08-28 16:50
567 查看
在我们的工作有时候我们需要将图片或者pdf文件转换为Base64编码,然后从服务器端下载传输到本地,在这里我列举下两者之间的转换方法:
Base64编码转换为pdf:
pdf转换为Base64编码:
我们在直接使用这两个类的时候,Eclipse会报错:
BASE64Encoder encoder = new sun.misc.BASE64Encoder();
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
解决方法如下:
右击项目—->build path—–>configure build path
点击OK,保存
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); } }1
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; }1
我们在直接使用这两个类的时候,Eclipse会报错:
BASE64Encoder encoder = new sun.misc.BASE64Encoder();
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
解决方法如下:
右击项目—->build path—–>configure build path
点击OK,保存
相关文章推荐
- Pdf与Base64编码之间的转换
- java RSA公私钥与其base64编码之间的转换
- c#中int32与byte[]之间的互换,以及base64编码的转换
- base64编码与图片之间相互转换
- java RSA公私钥与其base64编码之间的转换
- c#中int32与byte[]之间的互换,以及base64编码的转换
- C#中base64 bytes[] Stream之间的相互转换以及PDF转成图片
- c#中int32与byte[]之间的互换,以及base64编码的转换
- java处理图片base64编码的相互转换
- 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?[转]
- java实现图片与base64字符串之间的转换
- javascript将base64编码的图片数据转换为file并提交
- Ansi、Unicode、UTF8等编码字符串之间的转换和写入文本文件(学习中……)
- Python中unicode编码的字符串和其他格式的字符串之间进行转换
- 如何将BASE64编码的证书转换成C语言数组格式
- BCD编码的数据与基本类型数据之间的转换
- 校验出生日期,校验身份证格式,校验会员账户:9开头数字,校验手机号码是否合法,判断字符串中的url是否都是图片格式字符串,通过图片url读取图片并将图片转换成base64编码
- android下Bitmap和base64之间的转换
- bitmap与base64之间的转换