项目需要将图片存储到oss服务器上,但是因为用的框架的原因,前端直接传过来图片的base64编码,这个坑我已经踩了两次了,在此记录,以防再犯
byte[] data = EncodeUtils.decodeBase64(user.getAvatarBase64().split("base64,")[1]); SerialBlob s = new SerialBlob(data); InputStream inputStream =s.getBinaryStream(); ossUtils.putObjectForInputStream(fileName,inputStream,"0");
完整的base64字符串应该是
String str = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2w....."//很长
如果不对这个字符串做处理,图片上传到oss上也是无法进行查看的,我们只需要 base64,后面的内容就好了,将前面的内容去掉,获取截取出来设定类型都可以。关键就是只要base64,后面的内容这样oss上的图片预览就没有问题了。切记,切记!!!