Search code examples
javamultipart

CommonsMultipartFile size is 0


I trying this code and the image exists but when I try to create a CommonsMultipartFile the size is zero.

File file = new File("[image]");
DiskFileItem fileItem = new DiskFileItem("file", "image/png", false, file.getName(), (int) file.length() , file.getParentFile());
fileItem.getOutputStream();
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);

Solution

  • You could try with this

    DiskFileItem fileItem = new DiskFileItem("file", "image/png", true, file.getName(), (int)file.length() , file.getParentFile());
    InputStream input =  new FileInputStream(file);
    OutputStream os = fileItem.getOutputStream();
    int ret = input.read();
    while ( ret != -1 )
    {
        os.write(ret);
        ret = input.read();
    }
    os.flush();
    MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
    Assert.assertTrue(multipartFile.getSize() > 0);