关于用base64进行图片上传的问题
开发环境:win7、chrome、jdk1.6
问题是这样的我想实现一个拖拽即可上传图片的功能,js中通过拖拽的事件可以获取图片的base64编码,可是后台接收到该base64编码,然后通过base64解码却不能还原该图片,代码如下:
JS代码:
java后台:
后来我做了一个实验,对于同一张图片js获取的base64编码和java中获取的base64编码不一致,请教大家如何解决这个问题。
问题是这样的我想实现一个拖拽即可上传图片的功能,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编码不一致,请教大家如何解决这个问题。
...全文
相关推荐
Base64图片上传,Android图片上传的利器
总之,Base64编码在Android图片上传中起到了关键作用,它简化了数据传输,解决了不同平台间的兼容问题。
HTML5 图片上传 BASE64
同时,安全问题也不容忽视,应确保只允许安全的文件类型被上传,防止XSS攻击等安全风险。
图片上传接口-Json
**安全性考虑**:在实现图片上传接口时,还需要考虑安全问题,如防止恶意文件上传、限制文件类型和大小、保护用户隐私等。
手机app base64选择图片上传 demo
在图片上传场景中,Base64编码可以避免因为二进制数据而导致的格式问题。3.
图片上传源码
$connection->error;}$stmt->close();$connection->close();```在实际应用中,可能还需要处理图片的缩略图生成、文件大小限制、文件类型检查等安全问题。


