gpt4 book ai didi

java - 数据库无法以html格式存储

转载 作者:行者123 更新时间:2023-11-29 11:04:30 25 4
gpt4 key购买 nike

我正在使用springmvchibernatemysql。每当我在项目中上传文件时,数据库不会以 HTML 格式保存,我希望上传文件的用户,数据库应该维护该格式。我该怎么办?

上传 Controller 在上传过程中调用的方法。除了代码之外,任何一般想法都将受到赞赏。

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;
}

最佳答案

您正在使用 Tika 来解析 HTML。 BodyContentHandler 将仅返回标记内找到的 HTML,不包含其他任何内容。您要做的就是读取整个文件。尝试这样的事情:

private String getContentDescription(MultipartFile file, Long contentCategoryId) {
try (InputStream inputStream = file.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"))) {
StringBuilder sb = new StringBuilder();

String line;
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append('\n');
}
return sb.toString();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return null;
}

关于java - 数据库无法以html格式存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41628251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com