【问题标题】:Convertion from File Object to FileItem Object从文件对象到文件项对象的转换
【发布时间】:2021-04-16 13:16:51
【问题描述】:

我想将整个 File (java.io.File)转换FileItem (org.apache.commons.fileupload.FileItem)强>

谁能提供这个的代码片段。

帮我解决这个问题。

【问题讨论】:

    标签: java apache-commons


    【解决方案1】:
        File file = new File("/etc/path/file");
        InputStream in = fileItem.getInputStream();
        FileOutputStream out = new FileOutputStream(file);
        org.apache.commons.io.IOUtils.copy(in, out);
    

    不要忘记关闭流。

    【讨论】:

    • 我想在 FileItem 中保存整个文件(Java.io.file 对象)。
    • InputStream in = fileItem.getInputStream(); -- 出现编译错误。文件项
    【解决方案2】:

    来自 FileItem 的javadoc

    此类表示在 multipart/form-data POST 请求中接收到的文件或表单项

    来自文件的javadoc

    文件和目录路径名的抽象表示。

    它们都表示完全不同的概念。不能保证 FileItem 在磁盘上有等价物(可以指向 java.io.File)

    这让我觉得这是x-y-problem,你应该用根本问题重新表述你的问题。

    【讨论】:

    • 有没有其他方法可以将文件转换为 FileItem?
    • 这取决于您实际想要实现的目标:您是否正在处理上传的数据,并希望将其传递给需要 java.io.File 的 API 函数?或者你有一个java.io.File 并且想要将它传递给一个需要org.apache.commons.fileupload.FileItem 的API?这就是 xy 问题所指向的:你已经选择了一个解决方案,并且正在寻找一种方法来做你选择的事情。但很有可能您的根本问题需要一个不同的解决方案一开始。
    猜你喜欢
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2011-06-03
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    相关资源
    最近更新 更多