-2

我在 Servlet 类的 doPost 中有以下代码。

我面临的问题是有时,当我在数据库表中保存记录时,文件名和大小会重复,即不止一次插入相同的文件名和大小,但是当它保存到目录时,所有文件都被保存而没有任何重复。

例如,如果我保存 10 个文件名,spring-security-ntlm-3.0.2.SNAPSHOT.jar则重复两次离开jsf-api-2.0.3.jar,但是文件被正确写入文件服务器

这可能是什么原因,我该如何解决这个问题?

List<FileItem> items = uploadHandler.parseRequest(request);
        for (FileItem item: items) {
            fileName = item.getName();
            if (fileName != null) {

                fileName = FilenameUtils.getName(fileName);
            }

            if (!item.isFormField()) {
                File file = new File(folderName + fileName);
                    item.write(file);
                    projectList = new ArrayList<Project>();
                    projectList.add(lessonAttachment);
                    for (Project obj: projectList) {
                        obj.setProjectId("M2K90");
                        obj.setFileName(fileName);
                        Integer size = (int)(long)item.getSize();
                        obj.setSize(size);
                        myDAO.saveProject(projectList);
                    }
            }

        }
4

1 回答 1

2

projectList将节省大小的次数projectListmyDAO.saveProject(projectList);应该在 for 循环之外。

于 2013-10-28T05:51:25.813 回答