为什么我的MultipartFile为空

时间:2016-08-22 09:32:47

标签: java file-upload

我已将文件转换为MultipartFile,但MultipartFile为空,请帮助确认,非常感谢, 代码如下:

File file = new File("/Users/aikaliu/document/micrown/source/img/20160802144001791.jpg");
    int fileSize =Integer.parseInt(file.length() + "");

    DiskFileItem fileItem = null;
    try {
        fileItem = new DiskFileItem("file", "text/plain", false, file.getName(),fileSize, file.getParentFile());
        fileItem.getOutputStream();
    } catch (IOException e) {
        e.printStackTrace();
    }

    MultipartFile multipartFile = new CommonsMultipartFile(fileItem);

2 个答案:

答案 0 :(得分:2)

    File file = new File("/Users/aikaliu/document/micrown/source/img/20160802144001791.jpg");

    final DiskFileItem diskFileItem = new DiskFileItem("fileData", "text/plain", true, file.getName(), 100000000, file.getParentFile());

    InputStream input = null;
    OutputStream os = null;
    try {
        input = new FileInputStream(file);
        os = diskFileItem.getOutputStream();
        IOUtils.copy(input, os);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    MultipartFile multipartFile = new CommonsMultipartFile(diskFileItem);

答案 1 :(得分:0)

您可以切换到MockMultipartFile并尝试以下代码吗?

File file = new File("/Users/aikaliu/document/micrown/source/img/20160802144001791.jpg");
FileInputStream input = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile("file",
file.getName(), "text/plain", IOUtils.toByteArray(input));