android端向java服务器发送图片,服务器端的处理

公司临时加的需要,客户想要发送图片,研究了半天,直接发送图片服务器接收总是出问题,无法接收,改变了策略,android端发送图片的byte数组,还是不成功,最后决定用Base64编码后服务器接收.

实体类:

android端向java服务器发送图片,服务器端的处理

controller:

android端向java服务器发送图片,服务器端的处理

android端向java服务器发送图片,服务器端的处理

下图是保存原图的逻辑:

android端向java服务器发送图片,服务器端的处理

同时考虑到速度问题,决定将原图进行压缩,原图大小400KB左右,压缩后的缩略图大小约5-8KB左右,android端接收图片性能更快

图片压缩使用的是java的ImageIO类,支持的图片格式更多,

android端向java服务器发送图片,服务器端的处理

android端向java服务器发送图片,服务器端的处理

,同时由于保存图片和生成缩略图是异步执行的,为了防止生成缩略图的时候报FileNotFoundException,线程暂停2秒,发送原图地址,和缩略图的时候也暂停0.5秒,虽然这样速度会慢点,但是稳定,在不是高并发的场景还是比较实用的