Java Examples for com.oreilly.servlet.MultipartRequest
The following java examples will help you to understand the usage of com.oreilly.servlet.MultipartRequest. These source code samples are taken from different open source projects.
Example 1
Project: Magnolia-master File: CosMultipartRequestFilter.java View source code |
/** * Adds all request paramaters as request attributes. * @param request HttpServletRequest */ private static MultipartForm parseParameters(HttpServletRequest request) throws IOException { MultipartForm form = new MultipartForm(); String encoding = StringUtils.defaultString(request.getCharacterEncoding(), "UTF-8"); MultipartRequest multi = new MultipartRequest(request, Path.getTempDirectoryPath(), MAX_FILE_SIZE, encoding, null); Enumeration params = multi.getParameterNames(); while (params.hasMoreElements()) { String name = (String) params.nextElement(); String value = multi.getParameter(name); form.addParameter(name, value); String[] s = multi.getParameterValues(name); if (s != null) { form.addparameterValues(name, s); } } Enumeration files = multi.getFileNames(); while (files.hasMoreElements()) { String name = (String) files.nextElement(); form.addDocument(name, multi.getFilesystemName(name), multi.getContentType(name), multi.getFile(name)); } request.setAttribute(MultipartForm.REQUEST_ATTRIBUTE_NAME, form); return form; }
Example 2
Project: crezoo-master File: viewPheno.java View source code |
/** * Creates or updates phenotypes from file. * * @param request The request object to use. * @param response The response object to use. * @return True if everything was ok. * False if any errors. * @exception IOException If writing any page fails. * @exception ServletException If writing any page fails. */ private boolean createFile(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { boolean isOk = true; String errMessage = null; Connection connection = null; try { HttpSession session = request.getSession(true); connection = (Connection) session.getValue("conn"); connection.setAutoCommit(false); String upPath = getUpFilePath(); MultipartRequest multiRequest = new MultipartRequest(request, upPath, 6 * 1024 * 1024); // Get parameters from request int samplingUnitId = Integer.parseInt(multiRequest.getParameter("suid")); int userId = Integer.parseInt((String) session.getValue("UserID")); String uploadMode = multiRequest.getParameter("type"); Enumeration files = multiRequest.getFileNames(); if (files.hasMoreElements()) { String givenFileName = (String) files.nextElement(); String systemFileName = multiRequest.getFilesystemName(givenFileName); DbPhenotype dbp = new DbPhenotype(); FileParser fileParser = new FileParser(upPath + "/" + systemFileName); FileHeader header = FileParser.scanFileHeader(upPath + "/" + systemFileName); // Ensure file format is list or matrix Assertion.assertMsg(header.formatTypeName().equalsIgnoreCase(FileTypeDefinition.LIST) || header.formatTypeName().equalsIgnoreCase(FileTypeDefinition.MATRIX), "Format type name should be list or matrix " + "but found found " + header.formatTypeName()); // If file is a list if (header.formatTypeName().equalsIgnoreCase(FileTypeDefinition.LIST)) { fileParser.Parse(FileTypeDefinitionList.matchingDefinitions(FileTypeDefinition.PHENOTYPE, FileTypeDefinition.LIST)); if (uploadMode.equals("CREATE")) { dbp.CreatePhenotypesList(fileParser, connection, samplingUnitId, userId); } else if (uploadMode.equals("UPDATE")) { dbp.UpdatePhenotypesList(fileParser, connection, samplingUnitId, userId); } else if (uploadMode.equals("CREATE_OR_UPDATE")) { dbp.CreateOrUpdatePhenotypesList(fileParser, connection, samplingUnitId, userId); } } else // If file is a matrix if (header.formatTypeName().equalsIgnoreCase(FileTypeDefinition.MATRIX)) { fileParser.Parse(FileTypeDefinitionList.matchingDefinitions(FileTypeDefinition.PHENOTYPE, FileTypeDefinition.MATRIX)); if (uploadMode.equals("CREATE")) { dbp.CreatePhenotypesMatrix(fileParser, connection, samplingUnitId, userId); } else if (uploadMode.equals("UPDATE")) { dbp.UpdatePhenotypesMatrix(fileParser, connection, samplingUnitId, userId); } else if (uploadMode.equals("CREATE_OR_UPDATE")) { dbp.CreateOrUpdatePhenotypesMatrix(fileParser, connection, samplingUnitId, userId); } } errMessage = dbp.getErrorMessage(); Assertion.assertMsg(errMessage == null || errMessage.trim().equals(""), errMessage); } } catch (Exception e) { isOk = false; e.printStackTrace(System.err); if (errMessage == null) { errMessage = e.getMessage(); } } // if commit/rollback ok and database operation ok, write the frame if (commitOrRollback(connection, request, response, "Phenotypes.Import.Send", errMessage, "viewPheno/impFile", isOk) && isOk) { writeFrame(request, response); } return isOk; }
Example 3
Project: stripes-master File: CosMultipartWrapper.java View source code |
/**
* Pseudo-constructor that allows the class to perform any initialization
* necessary.
*
* @param request an HttpServletRequest that has a content-type of
* multipart.
* @param tempDir a File representing the temporary directory that can be
* used to store file parts as they are uploaded if this is desirable
* @param maxPostSize the size in bytes beyond which the request should not
* be read, and a FileUploadLimitExceeded exception should be thrown
* @throws IOException if a problem occurs processing the request of storing
* temporary files
* @throws FileUploadLimitExceededException if the POST content is longer
* than the maxPostSize supplied.
*/
public void build(HttpServletRequest request, final File tempDir, long maxPostSize) throws IOException, FileUploadLimitExceededException {
try {
// Create a new file in the temp directory in case of file name conflict
FileRenamePolicy renamePolicy = new FileRenamePolicy() {
public File rename(File arg0) {
try {
return File.createTempFile("cos", "", tempDir);
} catch (IOException e) {
throw new StripesRuntimeException("Caught an exception while trying to rename an uploaded file", e);
}
}
};
this.charset = request.getCharacterEncoding();
this.multipart = new MultipartRequest(request, tempDir.getAbsolutePath(), (int) maxPostSize, this.charset, renamePolicy);
} catch (IOException ioe) {
Matcher matcher = EXCEPTION_PATTERN.matcher(ioe.getMessage());
if (matcher.matches()) {
throw new FileUploadLimitExceededException(Long.parseLong(matcher.group(2)), Long.parseLong(matcher.group(1)));
} else {
throw ioe;
}
}
}
Example 4
Project: taplib-master File: MultipartParser.java View source code |
@Override @SuppressWarnings("unchecked") public final Map<String, Object> parse(final HttpServletRequest request) throws UWSException { LinkedHashMap<String, Object> parameters = new LinkedHashMap<String, Object>(); MultipartRequest multipart = null; try { // Parse the request body: multipart = new MultipartRequest(request, UWSFileManager.TMP_UPLOAD_DIR.getPath(), (SIZE_LIMIT < 0 ? DEFAULT_SIZE_LIMIT : SIZE_LIMIT), new FileRenamePolicy() { @Override public File rename(File file) { Object reqID = request.getAttribute(UWS.REQ_ATTRIBUTE_ID); if (reqID == null || !(reqID instanceof String)) reqID = (new Date()).getTime(); char uniq = 'A'; File f = new File(file.getParentFile(), "UPLOAD_" + reqID + uniq + "_" + file.getName()); while (f.exists()) { uniq++; f = new File(file.getParentFile(), "UPLOAD_" + reqID + "_" + file.getName()); } return f; } }); // Extract all "normal" parameters: String param; Enumeration<String> e = multipart.getParameterNames(); while (e.hasMoreElements()) { param = e.nextElement(); for (String occurence : multipart.getParameterValues(param)) consumeParameter(param, occurence, parameters); } // Extract all inline files as additional parameters: e = multipart.getFileNames(); if (!allowUpload && e.hasMoreElements()) throw new UWSException(UWSException.BAD_REQUEST, "Uploads are not allowed by this service!"); while (e.hasMoreElements()) { param = e.nextElement(); if (multipart.getFile(param) == null) continue; /* * TODO !!!POSSIBLE ISSUE!!! * MultipartRequest is not able to deal with multiple files having the same parameter name. However, all files are created/uploaded * but only the last one is accessible through this object....so only the last can be deleted, which could be a problem later * (hence the usage of the system temporary directory). */ // build its description/pointer: UploadFile lob = new UploadFile(param, multipart.getOriginalFileName(param), multipart.getFile(param).toURI().toString(), fileManager); lob.mimeType = multipart.getContentType(param); lob.length = multipart.getFile(param).length(); // add it inside the parameters map: consumeParameter(param, lob, parameters); } } catch (IOException ioe) { throw new UWSException(UWSException.INTERNAL_SERVER_ERROR, ioe, "Internal Error => Impossible to extract parameters from the Multipart HTTP request!"); } catch (IllegalArgumentException iae) { String confError = iae.getMessage(); if (UWSFileManager.TMP_UPLOAD_DIR == null) confError = "Missing upload directory!"; throw new UWSException(UWSException.INTERNAL_SERVER_ERROR, iae, "Internal Error: Incorrect UPLOAD configuration: " + confError); } return parameters; }
Example 5
Project: jfinal-master File: MultipartRequest.java View source code |
private void wrapMultipartRequest(HttpServletRequest request, String uploadPath, int maxPostSize, String encoding) {
File dir = new File(uploadPath);
if (!dir.exists()) {
if (!dir.mkdirs()) {
throw new RuntimeException("Directory " + uploadPath + " not exists and can not create directory.");
}
}
// String content_type = request.getContentType();
// if (content_type == null || content_type.indexOf("multipart/form-data") == -1) {
// throw new RuntimeException("Not multipart request, enctype=\"multipart/form-data\" is not found of form.");
// }
uploadFiles = new ArrayList<UploadFile>();
try {
multipartRequest = new com.oreilly.servlet.MultipartRequest(request, uploadPath, maxPostSize, encoding, fileRenamePolicy);
Enumeration files = multipartRequest.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
String filesystemName = multipartRequest.getFilesystemName(name);
// 文件没有上传则不生成 UploadFile, 这与 cos的解决方案不一样
if (filesystemName != null) {
String originalFileName = multipartRequest.getOriginalFileName(name);
String contentType = multipartRequest.getContentType(name);
UploadFile uploadFile = new UploadFile(name, uploadPath, filesystemName, originalFileName, contentType);
if (isSafeFile(uploadFile)) {
uploadFiles.add(uploadFile);
}
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Example 6
Project: BlinkCoder-master File: MultipartRequest.java View source code |
private void wrapMultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding) {
if (!isMultipartSupported)
throw new RuntimeException("Oreilly cos.jar is not found, Multipart post can not be supported.");
saveDirectory = handleSaveDirectory(saveDirectory);
File dir = new File(saveDirectory);
if (!dir.exists()) {
if (!dir.mkdirs()) {
throw new RuntimeException("Directory " + saveDirectory + " not exists and can not create directory.");
}
}
// String content_type = request.getContentType();
// if (content_type == null || content_type.indexOf("multipart/form-data") == -1) {
// throw new RuntimeException("Not multipart request, enctype=\"multipart/form-data\" is not found of form.");
// }
uploadFiles = new ArrayList<UploadFile>();
try {
multipartRequest = new com.oreilly.servlet.MultipartRequest(request, saveDirectory, maxPostSize, encoding, fileRenamePolicy);
Enumeration files = multipartRequest.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
String filesystemName = multipartRequest.getFilesystemName(name);
// 文件没有上传则不生成 UploadFile, 这与 cos的解决方案不一样
if (filesystemName != null) {
String originalFileName = multipartRequest.getOriginalFileName(name);
String contentType = multipartRequest.getContentType(name);
UploadFile uploadFile = new UploadFile(name, saveDirectory, filesystemName, originalFileName, contentType);
if (isSafeFile(uploadFile))
uploadFiles.add(uploadFile);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Example 7
Project: ynpay-old-master File: MultipartRequest.java View source code |
private void wrapMultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding) {
if (!isMultipartSupported)
throw new RuntimeException("Oreilly cos.jar is not found, Multipart post can not be supported.");
saveDirectory = handleSaveDirectory(saveDirectory);
File dir = new File(saveDirectory);
if (!dir.exists()) {
if (!dir.mkdirs()) {
throw new RuntimeException("Directory " + saveDirectory + " not exists and can not create directory.");
}
}
// String content_type = request.getContentType();
// if (content_type == null || content_type.indexOf("multipart/form-data") == -1) {
// throw new RuntimeException("Not multipart request, enctype=\"multipart/form-data\" is not found of form.");
// }
uploadFiles = new ArrayList<UploadFile>();
try {
multipartRequest = new com.oreilly.servlet.MultipartRequest(request, saveDirectory, maxPostSize, encoding, fileRenamePolicy);
Enumeration files = multipartRequest.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
String filesystemName = multipartRequest.getFilesystemName(name);
// 文件没有上传则不生成 UploadFile, 这与 cos的解决方案不一样
if (filesystemName != null) {
String originalFileName = multipartRequest.getOriginalFileName(name);
String contentType = multipartRequest.getContentType(name);
UploadFile uploadFile = new UploadFile(name, saveDirectory, filesystemName, originalFileName, contentType);
if (isSafeFile(uploadFile))
uploadFiles.add(uploadFile);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Example 8
Project: JFOA-master File: MultipartRequest.java View source code |
private void wrapMultipartRequest(HttpServletRequest request, String saveDirectory, int maxPostSize, String encoding) {
if (!isMultipartSupported)
throw new RuntimeException("Oreilly cos.jar is not found, Multipart post can not be supported.");
saveDirectory = handleSaveDirectory(saveDirectory);
File dir = new File(saveDirectory);
if (!dir.exists()) {
if (!dir.mkdirs()) {
throw new RuntimeException("Directory " + saveDirectory + " not exists and can not create directory.");
}
}
// String content_type = request.getContentType();
// if (content_type == null || content_type.indexOf("multipart/form-data") == -1) {
// throw new RuntimeException("Not multipart request, enctype=\"multipart/form-data\" is not found of form.");
// }
uploadFiles = new ArrayList<UploadFile>();
try {
multipartRequest = new com.oreilly.servlet.MultipartRequest(request, saveDirectory, maxPostSize, encoding, fileRenamePolicy);
Enumeration files = multipartRequest.getFileNames();
while (files.hasMoreElements()) {
String name = (String) files.nextElement();
String filesystemName = multipartRequest.getFilesystemName(name);
// 文件没有上传则不生成 UploadFile, 这与 cos的解决方案不一样
if (filesystemName != null) {
String originalFileName = multipartRequest.getOriginalFileName(name);
String contentType = multipartRequest.getContentType(name);
UploadFile uploadFile = new UploadFile(name, saveDirectory, filesystemName, originalFileName, contentType);
if (isSafeFile(uploadFile))
uploadFiles.add(uploadFile);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Example 9
Project: transmem-master File: ServletParams.java View source code |
public MultipartRequest getMultipartRequest() {
return this.mrequest_;
}