java数据库无法以html格式存储
我正在使用springmvc
、hibernate
和mysql
。每当我上传项目中的文件时,数据库不会以HTML格式保存,我希望上传文件的用户,数据库应该保持该格式。我该怎么办
上载控制器在上载期间调用的方法。除了代码外,任何一般性的想法都将受到欢迎
private String getContentDescription(MultipartFile file, Long contentCategoryId) {
StringBuffer contentDescription = new StringBuffer();
ContentHandler textHandler = new BodyContentHandler(-1);
InputStream input = null;
try {
input = file.getInputStream();
Metadata metadata = new Metadata();
this.parser.parse(input, textHandler, metadata, new ParseContext());
input.close();
} catch (IOException | SAXException | TikaException e) {
LOGGER.debug("Unable to read uploaded document", e);
}
String returnString = "";
if (null != textHandler) {
if (contentCategoryId==3 && contentCategoryId==4) {
String contentText = textHandler.toString();
returnString = contentText.substring(0, Math.max(0, contentText.length()));
} else {
String contentText = textHandler.toString();
returnString = contentText.substring(0, Math.min(1200, contentText.length()));
}
}
return returnString;
}
# 1 楼答案
您正在使用Tika解析HTML。BodyContentHandler将只返回在标记中找到的HTML,不包括任何其他内容。您要做的是读取整个文件。试着这样做:
# 2 楼答案
应该从应用程序端点分析此问题
您发送给服务的请求应该是
UTF-8
数据应作为
UTF-8
处理,直到将数据持久化到DB
检查支持
Unicode
和的连接字符串Character Encoding
UTF-8
数据,请将Db列转换为lob or blob
类型李>使用blow引用为相同的配置JPA。 JPA utf-8 characters not persisted
弹簧配置Spring MVC UTF-8 Encoding
Spring多部分文件上载:http://javainsimpleway.com/spring-mvc-file-upload-single-and-multiple-files-upload/