gpt4 book ai didi

java - 在java中保存多个附件

转载 作者:行者123 更新时间:2023-12-01 12:32:21 26 4
gpt4 key购买 nike

我已经将单个文件保存到数据库(postgresql)中,并且工作正常。但当我尝试上传多个文件时,我陷入困境。

我的jsp文件上传:

<input type="file" id="reqFile" name="attachments.myFile" multiple/>

这是我的操作方法:

    public String SaveAttachments() throws SQLException, IOException {
int case_id = (Integer) session.get("case_id");
System.out.println("in save attachments()");
int uploaded_by = 1;
try {
File destFile = new File(attachments.getMyFileFileName());
FileUtils.copyFile(attachments.getMyFile(), destFile);
fis = new FileInputStream(destFile);
currentCon = ConnectionManager.getConnection();
pstmt = (PreparedStatement) currentCon.prepareStatement("insert into case_attachments(case_id, attachment, attachment_title, upload_date, uploaded_by) values(?,?,?,current_date,?)");
pstmt.setInt(1, case_id);
pstmt.setBinaryStream(2, fis, (int) destFile.length());
pstmt.setString(3, attachments.getMyFileFileName());
pstmt.setInt(4, uploaded_by);
pstmt.executeUpdate();
} catch (Exception e) {
System.out.println("Error From SaveAttachments :" + e);
}
return SUCCESS;
}

当我附加多个文件时,它会以逗号分隔的格式进入数据库中的同一列。当用户附加多个文件时,如何将文件保存在不同的行中?提前致谢。

最佳答案

您可以上传多个files like described here ,那么您只需循环它们并将它们一次插入到数据库中即可。

您只需要决定是否使用业务层或直接从操作执行插入作业(不是最佳实践...),以及是否将所有文件放入单个事务中或将每个文件放入其自己的事务中。

请记住,HTML5 multiple 属性应该是 multiple="multiple",而不仅仅是 multiple(尽管大多数浏览器都能正确处理它)即使是“怪癖”)。

关于java - 在java中保存多个附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25841867/

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