关于用base64进行图片上传的问题

李遒 2013-08-24 10:15:01
开发环境:win7、chrome、jdk1.6

问题是这样的我想实现一个拖拽即可上传图片的功能,js中通过拖拽的事件可以获取图片的base64编码,可是后台接收到该base64编码,然后通过base64解码却不能还原该图片,代码如下:

JS代码:
this.handleFileSelect=function(evt){
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files;
for (var i = 0, f; f = files[i]; i++) {
var t = f.type ? f.type : 'n/a';
var reader = new FileReader();
var looks = function (f, img) {
$("#filepush").html(img);
};
var isImg = window.f.isImage(t),img;
// 处理得到的图片
if (isImg) {
reader.onload = (function (theFile) {
return function (e) {
//获取图片的base64编码
var base64=e.target.result;
//...省略上传代码
};
})(f);
reader.readAsDataURL(f);
} else {
img = '"o((>ω< ))o",你传进来的不是图片!!';
looks(f, img);
}
}
};

java后台:
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder(); 
//省略处理步骤...去除base64前面的头 data:image/gif;base64,
//获取base64解码后的字节数组
byte[] bs = decoder.decodeBuffer(处理过的base64字符串);
//将该字节数组保存到文件中


后来我做了一个实验,对于同一张图片js获取的base64编码和java中获取的base64编码不一致,请教大家如何解决这个问题。
...全文
553 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
晓不得java,C#图片转为base64需要经过字节数组和内存流+图片来生成的 自己找下java怎么将base64图片编码转为图片,感觉java没那么简单吧,一个base64类库就能完成C#的3个步骤
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

52,780

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧