首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建目录问题

创建目录问题
EN

Stack Overflow用户
提问于 2011-03-13 23:30:29
回答 3查看 92关注 0票数 1

不明白为什么它会一直创建2个文件夹?它会创建一个'0‘文件夹以及来自html的任何jobID。我希望上传的文件位于jobID文件夹中,而不是“0”文件夹中。

代码语言:javascript
复制
        int userID = 1; // test
        String coverLetter = "";
        String status = "Review";
        int jobID = 0;
        String directoryName = "";

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if(isMultipart && request.getContentType() != null)
        {
            // Create a factory for disk-based file items
            FileItemFactory factory = new DiskFileItemFactory();

            // Create a new file upload handler
            ServletFileUpload upload = new ServletFileUpload(factory);

            // Parse the request
            List /* FileItem */ items = null;
            try
            {
                items = upload.parseRequest(request);
            }
            catch(FileUploadException e) {}

            // Process the uploaded items
            Iterator iter = items.iterator();

            while(iter.hasNext())
            {
                FileItem item = (FileItem)iter.next();

                if(item.isFormField())
                {
                    if(item.getFieldName().equals("coverLetter"))
                        coverLetter = item.getString();
                    if(item.getFieldName().equals("jobID"))
                        jobID = Integer.parseInt(item.getString()); 
                }

                directoryName = request.getRealPath("/") + "/Uploads/CV/" + jobID + "/";    

                File theDir = new File(directoryName);
                if (!theDir.exists())
                    theDir.mkdir();

                if(item.getFieldName().equals("file"))
                {   
                    File uploadedFile = new File(directoryName + item.getName());
                    try
                    {
                        item.write(uploadedFile);
                    }
                    catch(Exception e) {}
                }
}

编辑:

问题解决了,我想要上传的文件

这是因为它位于jobID文件夹中,而不是“0”文件夹中。

EN

回答 3

Stack Overflow用户

发布于 2011-03-13 23:34:38

我怀疑这不是真的:

item.getFieldName().equals("jobID")

不过,这有点难以猜测。您是否尝试过在Eclipse (或类似环境)中进行调试?添加一些日志记录可能也会有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-03-14 00:13:22

必须从请求中解析出2个项目,所以您可能正在发送2个上传项目。

第一个项目没有jobID FieldName,因此仍保留目录名称

代码语言:javascript
复制
.../Uploads/CV/0

所以这就是造成问题的时间。

第二个项目具有作业ID,因此可以正确地创建目录。

你能把这张表寄给我们看看吗,上面可能有什么东西。求职信是不带jobId的附加文件吗?

如果jobID存在,你可以通过创建目录来解决这个问题。

票数 1
EN

Stack Overflow用户

发布于 2011-03-13 23:54:27

尝试在以下行之前打印/记录jobID

directoryName = request.getRealPath("/") + "/Uploads/CV/" + jobID + "/";

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5290332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档