0
点赞
收藏
分享

微信扫一扫

java用oss上传base64图片

好吧,因为最近在研究使用oss。本以为只要做个sts授权就ok了,不过boss又下新命令。身份证照片,人脸识别等要前端传给后端base64码,然后后端再上传。据说是为了安全。

首先不要问我前端传和后端传的区别在哪里。学识浅薄的我解答不了这个问题。只能说是boss交代的。其次为啥不直接穿而是要base64来回来去转。我也回答不了你~~非要说的话,为了安全?我布吉岛。

然后因为比较简单,所以直接上代码吧。

说明一下,因为我们这个参数决定路径。所以前面的判断都是为了确定路径。干代码是下面的几行。

然后这里的坑有两点:

1,就是前端传过来的base64码。是带有前缀的。一开始我傻了吧唧的获取后直接转成byte[]

但是在控制台查看怎么也不是图片。然后百度原因居然还有一种说法是base64就是解析不成图片!我差点就信了~~~哎,最后的最后偶然从一个帖子上看到前缀问题~~试了一下果断ok了。所以说大哥大姐们~~发言的时候能不能稍微负点责~~哎~~

2,其实不算坑,可能是我自己太傻了~~就是账号授权问题。第一次用的是sts授权key和密钥~~然后demo总不成功~~其实这个问题我在上个oss的使用上也提到了!但是还是忍不住再提一遍!说真的,oss的账号权限问题我觉得我能记一辈子~~~印象太深刻~~

剩下的都是小问题,比如说这个路径要文件夹开始而不能是“/”开头

还有base64反编译的时候BASE64Decoder decoder 这个类可能你引入不进来或者出警告线。处理办法:

右键项目——>properties——>Java Build Path——>Libraries——>JRE——>edit——>然后点最下面的Workspace default JRE(JDK). 然后完成执行。就ok了~

举报
0 条评论