IT序号网

java之SpringMVC存储Base64

lhb25 2023年07月24日 编程语言 24 0

我有一个带有注册表单的 Spring MVC 应用程序。这个表单有一张base64数据格式的图片。我想将这些数据存储在数据库中。目前我将 base64 数据存储在输入元素中。我对此有几个问题;

  1. 我应该在哪个 html 元素中保存 base64 数据,目前我正在使用输入元素,但是我在插入时遇到错误(Blob 是数据库和 Java 对象中使用的数据类型)-

    无法将 java.lang.String 类型的属性值转换为属性照片所需的 java.sql.Blob 类型;嵌套异常是 java.lang.IllegalStateException:无法将类型 [java.lang.String] 的值转换为属性照片所需的类型 [java.sql.Blob]:找不到匹配的编辑器或转换策略

    或者有没有办法在 java 中将字符串转换为 BLOB

  2. 即使数据是 base64,我是否仍然需要在表单标签上使用 enctype="multipart/form-data"?

  3. 如果 base64 数据存储在 html 文件元素中,我该如何执行验证以检查它是否为 NULL?

请您参考如下方法:

您可以使用 LobHelper将其转换为 Blob .您从 hibernate session 中获取 LobHelper Session.getLobHelper() .

只要你没有 <input type="file" /> ,应该不需要 enctype="multipart/form-data"。

验证应该像使用@NotNull 的普通字符串属性一样工作。

就我个人而言,我不会将其编码存储。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!