byte[] buffer = new byte[is.available()];
is.read(buffer);
BASE64Encoder encoder = new BASE64Encoder();
this.setFileBaseData(encoder.encode(buffer));
解码后图片显示不完整!
那位大侠帮忙看看
4 个解决方案
#1
编码问题。图片其实就是数据通过特殊算法后的一个集合。你转变编码了肯定得出来的结果会多少有点出入。
解决的办法就是你在读取之后,写入之前进行编码的转换
解决的办法就是你在读取之后,写入之前进行编码的转换
#2
<img src='data:image/jpg;base64, 图片有大小限制吗?
<img src='data:image/jpg;base64,
InputStream is = new BufferedInputStream(new FileInputStream("D:\\ww.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
BASE64Encoder encoder = new BASE64Encoder();
encoder.encode(buffer)
经过编码后,大一点的图片显示不完整,小一点能完整显示,怎么回事?哪位大侠碰到过?最后是怎么
解决的?
<img src='data:image/jpg;base64,
InputStream is = new BufferedInputStream(new FileInputStream("D:\\ww.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
BASE64Encoder encoder = new BASE64Encoder();
encoder.encode(buffer)
经过编码后,大一点的图片显示不完整,小一点能完整显示,怎么回事?哪位大侠碰到过?最后是怎么
解决的?
#3
学习 下
#4
正好我在写程序搜索问题答案,就帮你解答了吧
InputStream is = new BufferedInputStream(new FileInputStream("D:\\001.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
原因在于代码的第三行.由于 001图片过大,buffer过大造成Java heap space错误.所以你的较大的图片才显示了一半.
InputStream is = new BufferedInputStream(new FileInputStream("D:\\001.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
原因在于代码的第三行.由于 001图片过大,buffer过大造成Java heap space错误.所以你的较大的图片才显示了一半.
#1
编码问题。图片其实就是数据通过特殊算法后的一个集合。你转变编码了肯定得出来的结果会多少有点出入。
解决的办法就是你在读取之后,写入之前进行编码的转换
解决的办法就是你在读取之后,写入之前进行编码的转换
#2
<img src='data:image/jpg;base64, 图片有大小限制吗?
<img src='data:image/jpg;base64,
InputStream is = new BufferedInputStream(new FileInputStream("D:\\ww.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
BASE64Encoder encoder = new BASE64Encoder();
encoder.encode(buffer)
经过编码后,大一点的图片显示不完整,小一点能完整显示,怎么回事?哪位大侠碰到过?最后是怎么
解决的?
<img src='data:image/jpg;base64,
InputStream is = new BufferedInputStream(new FileInputStream("D:\\ww.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
BASE64Encoder encoder = new BASE64Encoder();
encoder.encode(buffer)
经过编码后,大一点的图片显示不完整,小一点能完整显示,怎么回事?哪位大侠碰到过?最后是怎么
解决的?
#3
学习 下
#4
正好我在写程序搜索问题答案,就帮你解答了吧
InputStream is = new BufferedInputStream(new FileInputStream("D:\\001.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
原因在于代码的第三行.由于 001图片过大,buffer过大造成Java heap space错误.所以你的较大的图片才显示了一半.
InputStream is = new BufferedInputStream(new FileInputStream("D:\\001.jpg"));
byte[] buffer = new byte[is.available()];
is.read(buffer);
原因在于代码的第三行.由于 001图片过大,buffer过大造成Java heap space错误.所以你的较大的图片才显示了一半.