java – 如何将图像作为字符串转换为PNG文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何将图像作为字符串转换为PNG文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1891字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何将图像作为字符串转换为PNG文件](/upload/InfoBanner/zyjiaocheng/824/32097f9e44ea477596d3b06fd33bac22.jpg)
我正在使用一个名为wPaint的jQuery插件来允许用户绘制自己的图像.我将生成的图像作为字符串发送到服务器,作为以字母开头的字符串
data:image/png;base64,
我尝试了下面的两种方法,但两种方法都无法存储图像.
方法1
String imageData = parameterParser.getStringParameter("image", "");
byte[] imgByteArray = Base64.decodeBase64(imageData.getBytes());
FileOutputStream fileOutputStream = new FileOutputStream("/home/arvind/Desktop/test.png");
fileOutputStream.write(imgByteArray);
fileOutputStream.close();
在这种情况下,文件被写入但不显示图像.但是,当我删除文件扩展名时,我得到发送到服务器的字符串(即imageData中的任何内容).
方法2
String imageData = parameterParser.getStringParameter("image", "");
byte[] imgByteArray = Base64.decodeBase64(imageData.getBytes());
InputStream in = new ByteArrayInputStream(imgByteArray);
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIO.write(bImageFromConvert, "png", new File("/home/arvind/Desktop/test.png"));
BufferedImage bImageFromConvert为null,因此在创建文件时会出现异常(IllegalArgumentException).
Base64类来自apache commons编解码器库,版本为1.2.
有什么我做错了吗?
解决方法:
最初我使用以下代码将数据发送到服务器.
$.ajax({
url : '/campaign/holiImageUpload.action',
type : 'POST',
data : "image=" + $("#wPaint2").wPaint("image")
success :function(data){
}
});
现在我使用以下代码将数据发送到服务器
var imgData = $("#wPaint2").wPaint("image");
$.ajax({
url : '/campaign/holiImageUpload.action',
type : 'POST',
data : {image : imgData},
success :function(data){
}
});
在服务器端,这是最终代码:
String imageData = parameterParser.getStringParameter("image", "");
try {
imageData = imageData.substring(22);
byte[] imgByteArray = Base64.decodeBase64(imageData.getBytes());
InputStream in = new ByteArrayInputStream(imgByteArray);
BufferedImage bufferedImage = ImageIO.read(in);
ImageIO.write(bufferedImage, "png", new File("/home/arvind/Desktop/test.png"));
catch(Exception ex){
ex.printStrackTrace();
}
内容总结
以上是互联网集市为您收集整理的java – 如何将图像作为字符串转换为PNG文件全部内容,希望文章能够帮你解决java – 如何将图像作为字符串转换为PNG文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。