Example usage for org.apache.commons.fileupload.disk DiskFileItem DiskFileItem

List of usage examples for org.apache.commons.fileupload.disk DiskFileItem DiskFileItem

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.disk DiskFileItem DiskFileItem.

Prototype

public DiskFileItem(String fieldName, String contentType, boolean isFormField, String fileName,
        int sizeThreshold, File repository) 

Source Link

Document

Constructs a new DiskFileItem instance.

Usage

From source file:com.cognitivabrasil.repositorio.data.entities.FilesTest.java

@Test
public void testFileIsInFileList() {
    FileItem f = new DiskFileItem("marcos", "text/plain", true, "marcos", 10000, null);
    List<Files> l = new ArrayList<>();

    assertThat(Files.isFileItemInFileList(l, f), equalTo(false));

    Files f1 = new Files();
    f1.setName("nunes");
    l.add(f1);/*from  w ww  . j av  a2 s  . c  o m*/
    assertThat(Files.isFileItemInFileList(l, f), equalTo(false));

    Files f2 = new Files();
    f2.setName("marcos");
    l.add(f2);
    assertThat(Files.isFileItemInFileList(l, f), equalTo(true));
}

From source file:com.xpn.xwiki.doc.XWikiAttachmentContent.java

/**
 * Set a new FileItem for storage./*  w  ww  .  ja  va 2s. c  o  m*/
 * 
 * @since 2.6M1
 */
private void newFileItem() {
    String tempFileLocation = System.getProperty("java.io.tmpdir");
    // TODO try to get a different temp file location.
    try {
        final DiskFileItem dfi = new DiskFileItem(null, null, false, null, 10000, new File(tempFileLocation));
        // This causes the temp file to be created.
        dfi.getOutputStream();
        // Make sure this file is marked for deletion on VM exit because DiskFileItem does not.
        dfi.getStoreLocation().deleteOnExit();
        this.file = dfi;
    } catch (IOException e) {
        throw new RuntimeException("Failed to create new attachment temporary file."
                + " Are you sure you have permission to write to " + tempFileLocation + "?", e);
    }
}

From source file:jenkins.security.security218.ysoserial.payloads.FileUpload1.java

private static DiskFileItem makePayload(int thresh, String repoPath, String filePath, byte[] data)
        throws IOException, Exception {
    // if thresh < written length, delete outputFile after copying to repository temp file
    // otherwise write the contents to repository temp file
    File repository = new File(repoPath);
    DiskFileItem diskFileItem = new DiskFileItem("test", "application/octet-stream", false, "test", 100000,
            repository);/*from w w  w  . j a  v  a  2s . com*/
    File outputFile = new File(filePath);
    DeferredFileOutputStream dfos = new DeferredFileOutputStream(thresh, outputFile);
    OutputStream os = (OutputStream) Reflections.getFieldValue(dfos, "memoryOutputStream");
    os.write(data);
    Reflections.getField(ThresholdingOutputStream.class, "written").set(dfos, data.length);
    Reflections.setFieldValue(diskFileItem, "dfos", dfos);
    Reflections.setFieldValue(diskFileItem, "sizeThreshold", 0);
    return diskFileItem;
}

From source file:de.metalcon.musicStorageServer.protocol.CreateRequestTest.java

/**
 * create a music item/* w  w w . ja  v a 2 s  . co  m*/
 * 
 * @param contentType
 *            content type of the music file
 * @param musicFile
 *            file handle to the music file
 * @return music item representing the music file passed
 */
private static FileItem createMusicItem(final String contentType, final File musicFile) {
    final FileItem musicItem = new DiskFileItem(ProtocolConstants.Parameter.Create.MUSIC_ITEM, contentType,
            false, musicFile.getName(), (int) musicFile.length(), DISK_FILE_REPOSITORY);

    // reason for call of getOutputStream: bug in commons.IO
    // called anyway to create file
    try {
        final OutputStream outputStream = musicItem.getOutputStream();
        final InputStream inputStream = new FileInputStream(musicFile);
        IOUtils.copy(inputStream, outputStream);
    } catch (final IOException e) {
        e.printStackTrace();
        fail("music item creation failed!");
    }

    return musicItem;
}

From source file:de.metalcon.imageServer.protocol.CreateRequestTest.java

/**
 * create an image item/*  w  ww  . ja  v a2s .  c om*/
 * 
 * @param contentType
 *            content type of the music file
 * @param musicFile
 *            file handle to the music file
 * @return music item representing the music file passed
 */
private static FileItem createImageItem(final String contentType, final File imageFile) {
    final FileItem imageItem = new DiskFileItem(ProtocolConstants.Parameters.Create.IMAGE_ITEM, contentType,
            false, imageFile.getName(), (int) imageFile.length(), DISK_FILE_REPOSITORY);

    // reason for call of getOutputStream: bug in commons.IO
    // called anyway to create file
    try {
        final OutputStream outputStream = imageItem.getOutputStream();
        final InputStream inputStream = new FileInputStream(imageFile);
        IOUtils.copy(inputStream, outputStream);
    } catch (final IOException e) {
        e.printStackTrace();
        fail("image item creation failed!");
    }

    return imageItem;
}

From source file:it.geosolutions.opensdi.operations.OperationEngineController.java

/**
 * Obtain a temporal file item with chunked bytes
 * //from w  w  w .j a v  a 2  s  .c o  m
 * @param file
 * @param chunkedBytes
 * @param name
 * @return
 */
private FileItem getFileItem(MultipartFile file, List<byte[]> chunkedBytes, String name) {
    // Temporal file to write chunked bytes
    File outFile = FileUtils.getFile(FileUtils.getTempDirectory(), name);

    // total file size
    int sizeThreshold = 0;
    for (byte[] bytes : chunkedBytes) {
        sizeThreshold += bytes.length;
    }

    // Get file item
    FileItem fileItem = new DiskFileItem("tmpFile", file.getContentType(), false, name, sizeThreshold, outFile);
    try {

        OutputStream outputStream;
        outputStream = fileItem.getOutputStream();

        // write bytes
        for (byte[] readedBytes : chunkedBytes) {
            outputStream.write(readedBytes, 0, readedBytes.length);
        }

        // close the file
        outputStream.flush();
        outputStream.close();
    } catch (IOException e) {
        LOGGER.error("Error writing final file", e);
    } finally {
        // Remove bytes from memory
        uploadedChunks.remove(file.getName());
    }

    return fileItem;
}

From source file:fr.paris.lutece.portal.web.user.AdminUserJspBeanTest.java

public void testDoImportUsersFromFile() throws AccessDeniedException, UserNotSignedException, IOException {
    AdminUserJspBean bean = new AdminUserJspBean();
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addParameter(SecurityTokenService.PARAMETER_TOKEN,
            SecurityTokenService.getInstance().getToken(request, "jsp/admin/user/ImportUser.jsp"));
    AdminUser user = getUserToModify();/* w  w w. j  av a 2s.  c om*/
    AdminAuthenticationService.getInstance().registerUser(request, user);
    bean.init(request, "CORE_USERS_MANAGEMENT");
    Map<String, List<FileItem>> multipartFiles = new HashMap<>();
    List<FileItem> fileItems = new ArrayList<>();
    FileItem file = new DiskFileItem("import_file", "application/csv", true, "junit.csv", 1024,
            new File(System.getProperty("java.io.tmpdir")));
    OutputStreamWriter writer = new OutputStreamWriter(file.getOutputStream(), Charset.forName("UTF-8"));
    writer.write(
            "test;test;test;test@test.fr;" + AdminUser.ACTIVE_CODE + ";" + Locale.FRANCE + ";0;false;false;;;");
    writer.close();
    fileItems.add(file);
    multipartFiles.put("import_file", fileItems);
    Map<String, String[]> parameters = request.getParameterMap();
    MultipartHttpServletRequest multipartRequest = new MultipartHttpServletRequest(request, multipartFiles,
            parameters);
    bean.getImportUsersFromFile(request); // initialize _importAdminUserService
    AdminUser importedUser = null;
    try {
        bean.doImportUsersFromFile(multipartRequest);
        importedUser = AdminUserHome.findUserByLogin("test");
        assertNotNull(importedUser);
        assertEquals("test", importedUser.getAccessCode());
        assertEquals("test", importedUser.getFirstName());
        assertEquals("test", importedUser.getLastName());
        assertEquals("test@test.fr", importedUser.getEmail());
        assertEquals(AdminUser.ACTIVE_CODE, importedUser.getStatus());
    } finally {
        if (importedUser != null) {
            disposeOfUser(importedUser);
        }
        disposeOfUser(user);
    }
}

From source file:fr.paris.lutece.portal.web.user.AdminUserJspBeanTest.java

public void testDoImportUsersFromFileInvalidToken()
        throws AccessDeniedException, UserNotSignedException, IOException {
    AdminUserJspBean bean = new AdminUserJspBean();
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addParameter(SecurityTokenService.PARAMETER_TOKEN,
            SecurityTokenService.getInstance().getToken(request, "jsp/admin/user/ImportUser.jsp") + "b");
    AdminUser user = getUserToModify();//from ww w.ja v  a2s.  c  o  m
    AdminAuthenticationService.getInstance().registerUser(request, user);
    bean.init(request, "CORE_USERS_MANAGEMENT");
    Map<String, List<FileItem>> multipartFiles = new HashMap<>();
    List<FileItem> fileItems = new ArrayList<>();
    FileItem file = new DiskFileItem("import_file", "application/csv", true, "junit.csv", 1024,
            new File(System.getProperty("java.io.tmpdir")));
    OutputStreamWriter writer = new OutputStreamWriter(file.getOutputStream(), Charset.forName("UTF-8"));
    writer.write(
            "test;test;test;test@test.fr;" + AdminUser.ACTIVE_CODE + ";" + Locale.FRANCE + ";0;false;false;;;");
    writer.close();
    fileItems.add(file);
    multipartFiles.put("import_file", fileItems);
    Map<String, String[]> parameters = request.getParameterMap();
    MultipartHttpServletRequest multipartRequest = new MultipartHttpServletRequest(request, multipartFiles,
            parameters);
    bean.getImportUsersFromFile(request); // initialize _importAdminUserService
    AdminUser importedUser = null;
    try {
        bean.doImportUsersFromFile(multipartRequest);
        fail("Should have thrown");
    } catch (AccessDeniedException e) {
        importedUser = AdminUserHome.findUserByLogin("test");
        assertNull(importedUser);
    } finally {
        if (importedUser != null) {
            disposeOfUser(importedUser);
        }
        disposeOfUser(user);
    }
}

From source file:fr.paris.lutece.portal.web.user.AdminUserJspBeanTest.java

public void testDoImportUsersFromFileNoToken()
        throws AccessDeniedException, UserNotSignedException, IOException {
    AdminUserJspBean bean = new AdminUserJspBean();
    MockHttpServletRequest request = new MockHttpServletRequest();
    AdminUser user = getUserToModify();/*from   ww w.j  a v  a2 s .  c o  m*/
    AdminAuthenticationService.getInstance().registerUser(request, user);
    bean.init(request, "CORE_USERS_MANAGEMENT");
    Map<String, List<FileItem>> multipartFiles = new HashMap<>();
    List<FileItem> fileItems = new ArrayList<>();
    FileItem file = new DiskFileItem("import_file", "application/csv", true, "junit.csv", 1024,
            new File(System.getProperty("java.io.tmpdir")));
    OutputStreamWriter writer = new OutputStreamWriter(file.getOutputStream(), Charset.forName("UTF-8"));
    writer.write(
            "test;test;test;test@test.fr;" + AdminUser.ACTIVE_CODE + ";" + Locale.FRANCE + ";0;false;false;;;");
    writer.close();
    fileItems.add(file);
    multipartFiles.put("import_file", fileItems);
    Map<String, String[]> parameters = request.getParameterMap();
    MultipartHttpServletRequest multipartRequest = new MultipartHttpServletRequest(request, multipartFiles,
            parameters);
    bean.getImportUsersFromFile(request); // initialize _importAdminUserService
    AdminUser importedUser = null;
    try {
        bean.doImportUsersFromFile(multipartRequest);
        fail("Should have thrown");
    } catch (AccessDeniedException e) {
        importedUser = AdminUserHome.findUserByLogin("test");
        assertNull(importedUser);
    } finally {
        if (importedUser != null) {
            disposeOfUser(importedUser);
        }
        disposeOfUser(user);
    }
}

From source file:org.apache.myfaces.custom.fileupload.HtmlFileUploadRendererTest.java

public void testUploadedFileDefaultFileImplSerializable() throws Exception {
    String fieldName = "inputFile";
    String contentType = "someType";
    boolean isFormField = true;
    String fileName = "tempFile";
    int sizeThreshold = 10000;
    File repository = new File(System.getProperty("java.io.tmpdir"));
    DiskFileItem item = new DiskFileItem(fieldName, contentType, isFormField, fileName, sizeThreshold,
            repository);/*from   www  . j  a  va 2 s .  c o m*/

    UploadedFileDefaultFileImpl original = new UploadedFileDefaultFileImpl(item);

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(out);
    oos.writeObject(original);
    oos.close();

    byte[] serializedArray = out.toByteArray();
    InputStream in = new ByteArrayInputStream(serializedArray);
    ObjectInputStream ois = new ObjectInputStream(in);
    UploadedFileDefaultFileImpl copy = (UploadedFileDefaultFileImpl) ois.readObject();

    assertEquals(original.getName(), copy.getName());
    assertEquals(original.getContentType(), copy.getContentType());
    assertEquals(copy.getSize(), 0);

    copy.getStorageStrategy().deleteFileContents();
}