因此,我正在使用android应用程序,您可以在其中拍照并保存在后端。在后端,保存图片的实体是这样的:
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApplicationUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Lob
private byte[] imageBytes;
}
从我的android应用程序中,我得到一张图片,获取其位图,将其压缩为字节数组,然后将其发送到后端。当字节数组到达服务器时,它看起来像这样:{-1, 30, 50 ...}
,但是当它保存到数据库中时,它像字符串一样被保存,就像这样:
"imageBytes": "/9j/4AAQSkZJRgABAQAAAQABAAD/....
像这样保存字节数组是否正常? @Lob在这样做吗?主要问题:
答案 0 :(得分:0)
有两种类型的LOB:二进制LOB(BLOB)和字符LOB(CLOB)。
您可能想使用BLOB:
@Lob
@Column(name = "image_bytes", columnDefinition="BLOB")
private byte[] imageBytes;