List of usage examples for org.springframework.web.multipart MultipartFile MultipartFile
MultipartFile
From source file:com.alehuo.wepas2016projekti.test.FormDomainTest.java
/** * *///w ww . ja v a 2 s. co m @Test public void parametrienAsetusToimii() { ImageUploadFormData fd = new ImageUploadFormData(); fd.setDescription("test"); assertEquals("Kuvausta ei aseteta oikein", "test", fd.getDescription()); MultipartFile mf = new MultipartFile() { @Override public String getName() { return ""; } @Override public String getOriginalFilename() { return ""; } @Override public String getContentType() { return ""; } @Override public boolean isEmpty() { return false; } @Override public long getSize() { return 0; } @Override public byte[] getBytes() throws IOException { return new byte[8]; } @Override public InputStream getInputStream() throws IOException { return null; } @Override public void transferTo(File file) throws IOException, IllegalStateException { } }; fd.setFile(mf); assertEquals("Tiedostoa ei aseteta oikein", mf, fd.getFile()); }
From source file:org.tangram.spring.StreamingMultipartResolver.java
@Override public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(maxUploadSize); String encoding = determineEncoding(request); Map<String, String[]> multipartParameters = new HashMap<>(); MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>(); Map<String, String> multipartFileContentTypes = new HashMap<>(); try {/*from w w w .ja v a 2 s . c o m*/ FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { String value = Streams.asString(stream, encoding); String[] curParam = multipartParameters.get(name); if (curParam == null) { // simple form field multipartParameters.put(name, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(name, newParam); } } else { try { MultipartFile file = new StreamingMultipartFile(item); multipartFiles.add(name, file); multipartFileContentTypes.put(name, file.getContentType()); } catch (final IOException e) { LOG.warn("({})", e.getCause().getMessage(), e); MultipartFile file = new MultipartFile() { @Override public String getName() { return ""; } @Override public String getOriginalFilename() { return e.getCause().getMessage(); } @Override public String getContentType() { return ERROR; } @Override public boolean isEmpty() { return true; } @Override public long getSize() { return 0L; } @Override public byte[] getBytes() throws IOException { return new byte[0]; } @Override public InputStream getInputStream() throws IOException { return null; } @Override public void transferTo(File file) throws IOException, IllegalStateException { throw new UnsupportedOperationException("NYI", e); } }; multipartFiles.add(name, file); multipartFileContentTypes.put(name, file.getContentType()); } // try/catch } // if } // while } catch (IOException | FileUploadException e) { throw new MultipartException("Error uploading a file", e); } // try/catch return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParameters, multipartFileContentTypes); }
From source file:arena.action.ServletRequestState.java
public MultipartFile getArg(final String key, final String filename, final String mimeType, final byte content[]) { Object arg = this.attributesMap.get(key); if (arg == null) { return new MultipartFile() { public String getName() { return key; }/* w w w . j a v a2s . co m*/ public String getOriginalFilename() { return filename; } public String getContentType() { return mimeType; } public boolean isEmpty() { return (content == null || content.length == 0); } public long getSize() { return (content != null ? content.length : 0); } public byte[] getBytes() { return content; } public InputStream getInputStream() { return (content != null ? new ByteArrayInputStream(content) : null); } public void transferTo(File file) throws IOException, IllegalStateException { if (content != null) { FileUtils.writeArrayToFile(content, file); } } }; } else if (arg instanceof MultipartFile) { return ((MultipartFile) arg); } else { throw new IllegalArgumentException("Argument " + key + " is not a multipart file"); } }
From source file:arena.action.ServletRequestState.java
public MultipartFile getArg(final String key, final String filename, final String mimeType, final InputStream content, final int length) { Object arg = this.attributesMap.get(key); if (arg == null) { return new MultipartFile() { public String getName() { return key; }/*from ww w . j a v a2 s.co m*/ public String getOriginalFilename() { return filename; } public String getContentType() { return mimeType; } public boolean isEmpty() { return (length == 0); } public long getSize() { return length; } public InputStream getInputStream() { return content; } public byte[] getBytes() throws IOException { return FileUtils.convertStreamToByteArray(content, length); } public void transferTo(File file) throws IOException, IllegalStateException { if (content != null) { FileUtils.writeArrayToFile(getBytes(), file); } } }; } else if (arg instanceof MultipartFile) { return ((MultipartFile) arg); } else { throw new IllegalArgumentException("Argument " + key + " is not a multipart file"); } }
From source file:arena.action.ServletRequestState.java
public MultipartFile getArg(final String key, final File file) { Object arg = this.attributesMap.get(key); if (arg == null) { return new MultipartFile() { public String getName() { return key; }/* w ww. j a va2 s .c om*/ public String getOriginalFilename() { return file.getPath(); } public String getContentType() { return servletContext.getMimeType(FileUtils.extractFileExtension(getOriginalFilename())); } public boolean isEmpty() { return !file.isFile() || (file.length() == 0); } public long getSize() { return file.length(); } public InputStream getInputStream() throws IOException { return new FileInputStream(file); } public byte[] getBytes() throws IOException { return FileUtils.convertStreamToByteArray(getInputStream(), -1); } public void transferTo(File outFile) throws IOException, IllegalStateException { FileUtils.copyFile(file, outFile, false); } }; } else if (arg instanceof MultipartFile) { return ((MultipartFile) arg); } else { throw new IllegalArgumentException("Argument " + key + " is not a multipart file"); } }
From source file:de.zib.gndms.gndmc.dspace.Test.SliceClientTest.java
@Test(groups = { "sliceServiceTest" }, dependsOnMethods = { "testConfigSlice" }) public void testFileTransfer() throws IOException, NoSuchAlgorithmException, KeyManagementException { // TODO: test for nonexistance of sliceFile as initial constraint // create tmp testfile {//from w ww.j ava 2 s .c o m FileOutputStream testfile = new FileOutputStream(sliceFile); ByteArrayInputStream in = new ByteArrayInputStream(sliceFileContent.getBytes()); FileCopyUtils.copy(in, testfile); testfile.flush(); testfile.close(); } // upload file { final ResponseEntity<Integer> responseEntity = sliceClient.setFileContent(subspaceId, sliceKindId, sliceId, sliceFileName, new MultipartFile() { @Override public String getName() { return sliceFileName; } @Override public String getOriginalFilename() { // This is where he gets the content from. return sliceFile; } @Override public String getContentType() { return null; } @Override public boolean isEmpty() { return false; } @Override public long getSize() { return 0; } @Override public byte[] getBytes() throws IOException { // don't need this return null; } @Override public InputStream getInputStream() throws IOException { // don't need this return null; } @Override public void transferTo(File dest) throws IOException, IllegalStateException { // don't need this } }, admindn); Assert.assertNotNull(responseEntity); Assert.assertEquals(responseEntity.getStatusCode(), HttpStatus.OK); } // try to find uploaded file { if (!findFile()) throw new IllegalStateException( "Uploaded file " + sliceFileName + " could not be listed. Upload failed?"); } // download file and compare with uploaded file { final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); final ResponseEntity<Integer> responseEntity = sliceClient.listFileContent(subspaceId, sliceKindId, sliceId, sliceFileName, new LinkedList<String>(), admindn, byteArrayOutputStream); Assert.assertNotNull(responseEntity); Assert.assertEquals(responseEntity.getStatusCode(), HttpStatus.OK); InputStream stream = new FileInputStream(sliceFile); ByteArrayOutputStream out = new ByteArrayOutputStream(); FileCopyUtils.copy(stream, out); Assert.assertEquals(byteArrayOutputStream.toByteArray(), out.toByteArray()); } // delete uploaded file { final ResponseEntity<Integer> responseEntity = sliceClient.deleteFile(subspaceId, sliceKindId, sliceId, sliceFileName, admindn); Assert.assertNotNull(responseEntity); Assert.assertEquals(responseEntity.getStatusCode(), HttpStatus.OK); } // try to not! find deleted file { if (findFile()) throw new IllegalStateException("Still found deleted file " + sliceFileName); } }