首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从FileItem获取文件并将该文件保存到路径

从FileItem获取文件并将该文件保存到路径
EN

Stack Overflow用户
提问于 2020-04-02 19:08:21
回答 1查看 150关注 0票数 0

我需要将图像保存到我的桌面上,但我无法获取该图像文件,当我保存它时,我什么也不保存,一个空文件,我不知道如何从FileItem获取该文件。

代码语言:javascript
复制
    for (FileItem lFileItem: c.emptyIfNull(pImageLogo))
    {
        long lFileSize = lFileItem.getSize();
        String lFileName = lFileItem.getName();
        String lExtensionFile = FilenameUtils.getExtension(lFileName);
        String lContentType = lFileItem.getContentType();

        if (lContentType.startsWith("image/")) {

            if (lFileSize < 100 || lFileSize > Integer.valueOf(lLimitFileSize))
            {                           
                lShowAlert=c.msg("userReg.alertSizeFileErrorPart1","File size must be smaller than ") + Integer.valueOf(lLimitFileSize)/1000000 + c.msg("userReg.alertSizeFileErrorPart2","MB and greater than 1KB ");
                throw new ErrorControl(lShowAlert);
                break;
            }

            if (lFileSize<=0) break;    
            c.log(this, "file size="+lFileSize+"  max allowed="+lLimitFileSize);

            File lFile = new File(logoClientsFolder+"logo_"+ lIdClient + "." + lExtensionFile);

            if(lFile.createNewFile())
            {
                System.out.println("File created: " + lFile.getName());
            }
        } else {
            System.out.println("IS NOT AN IMAGE");
        }
    }

你能帮帮我吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-04-02 19:26:39

您只需创建文件,但不向其写入数据,您需要的内容如下:

代码语言:javascript
复制
final Path path = Paths.get(filename);
OutputStream outStream = Files.newOutputStream(path, StandardOpenOption.CREATE_NEW);

(添加异常处理),然后将内容写入该outStream

您应该使用NIO进行文件访问,请参阅:Java: Path vs File

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

https://stackoverflow.com/questions/60990159

复制
相关文章

相似问题

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