标签:
The following are 20 Jave code examples that show how to use the javax.servlet.http.Part class. These examples are extracted from open source projects. You can click to vote up the examples you like. Your votes will be used in an intelligent system to get more and better code examples. Thanks!
Example 1
From project spring-framework, under directory /spring-web/src/main/java/org/springframework/web/multipart/support/, in source file StandardMultipartHttpServletRequest.java
public String getMultipartContentType(String paramOrFileName){
try {
Part part=getPart(paramOrFileName);
return (part != null ? part.getContentType() : null);
}
catch ( Exception ex) {
throw new MultipartException("Could not access multipart servlet request",ex);
}
}
Example 2
From project spring-framework, under directory /spring-web/src/main/java/org/springframework/web/multipart/support/, in source file StandardMultipartHttpServletRequest.java
public HttpHeaders getMultipartHeaders(String paramOrFileName){
try {
Part part=getPart(paramOrFileName);
if (part != null) {
HttpHeaders headers=new HttpHeaders();
for ( String headerName : part.getHeaderNames()) {
headers.put(headerName,new ArrayList<String>(part.getHeaders(headerName)));
}
return headers;
}
else {
return null;
}
}
catch ( Exception ex) {
throw new MultipartException("Could not access multipart servlet request",ex);
}
}
Example 3
From project ohmageServer, under directory /src/org/ohmage/request/, in source file Request.java
/**
* Reads the HttpServletRequest for a key-value pair and returns the value where the key is equal to the given key.
* @param httpRequest A "multipart/form-data" request that contains the parameter that has a key value ‘key‘.
* @param key The key for the value we are after in the ‘httpRequest‘.
* @return Returns null if there is no such key in the request or if, after reading the object, it has a length of 0. Otherwise, it returns the value associated with the key as a byte array.
* @throws ServletException Thrown if the ‘httpRequest‘ is not a "multipart/form-data" request.
* @throws IOException Thrown if there is an error reading the value fromthe request‘s input stream.
* @throws IllegalStateException Thrown if the entire request is largerthan the maximum allowed size for a request or if the value of the requested key is larger than the maximum allowed size for a single value.
*/
protected byte[] getMultipartValue(HttpServletRequest httpRequest,String key) throws ValidationException {
try {
Part part=httpRequest.getPart(key);
if (part == null) {
return null;
}
InputStream partInputStream=part.getInputStream();
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
byte[] chunk=new byte[4096];
int amountRead;
while ((amountRead=partInputStream.read(chunk)) != -1) {
outputStream.write(chunk,0,amountRead);
}
if (outputStream.size() == 0) {
return null;
}
else {
return outputStream.toByteArray();
}
}
catch ( ServletException e) {
LOGGER.error("This is not a multipart/form-data POST.",e);
setFailed(ErrorCode.SYSTEM_GENERAL_ERROR,"This is not a multipart/form-data POST which is what we expect for the current API call.");
throw new ValidationException(e);
}
catch ( IOException e) {
LOGGER.error("There was an error reading the message from the input stream.",e);
setFailed();
throw new ValidationException(e);
}
}
Example 4
From project Ohmage_Server_2, under directory /src/org/ohmage/request/, in source file Request.java
/**
* Reads the HttpServletRequest for a key-value pair and returns the value where the key is equal to the given key.
* @param httpRequest A "multipart/form-data" request that contains the parameter that has a key value ‘key‘.
* @param key The key for the value we are after in the ‘httpRequest‘.
* @return Returns null if there is no such key in the request or if, after reading the object, it has a length of 0. Otherwise, it returns the value associated with the key as a byte array.
* @throws ServletException Thrown if the ‘httpRequest‘ is not a "multipart/form-data" request.
* @throws IOException Thrown if there is an error reading the value fromthe request‘s input stream.
* @throws IllegalStateException Thrown if the entire request is largerthan the maximum allowed size for a request or if the value of the requested key is larger than the maximum allowed size for a single value.
*/
protected byte[] getMultipartValue(HttpServletRequest httpRequest,String key) throws ValidationException {
try {
Part part=httpRequest.getPart(key);
if (part == null) {
return null;
}
InputStream partInputStream=part.getInputStream();
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
byte[] chunk=new byte[4096];
int amountRead;
while ((amountRead=partInputStream.read(chunk)) != -1) {
outputStream.write(chunk,0,amountRead);
}
if (outputStream.size() == 0) {
return null;
}
else {
return outputStream.toByteArray();
}
}
catch ( ServletException e) {
LOGGER.error("This is not a multipart/form-data POST.",e);
setFailed(ErrorCodes.SYSTEM_GENERAL_ERROR,"This is not a multipart/form-data POST which is what we expect for the current API call.");
throw new ValidationException(e);
}
catch ( IOException e) {
LOGGER.error("There was an error reading the message from the input stream.",e);
setFailed();
throw new ValidationException(e);
}
}
Example 5
From project Coffee-Framework, under directory /coffeeframework-core/src/main/java/coffee/, in source fileCoffeeRequestContext.java
/**
* @param part
* @return
*/
public String getParameterFilename(Part part){
for ( String cd : part.getHeader("content-disposition").split(";")) {
if (cd.trim().startsWith("filename")) {
String fileName=cd.substring(cd.indexOf(‘=‘) + 1).trim().replace("\"","");
fileName=fileName.substring(fileName.lastIndexOf(‘/‘) + 1).substring(fileName.lastIndexOf(‘\\‘) + 1);
return fileName;
}
}
return null;
}
Example 6
From project capedwarf-blue, under directory /blobstore/src/main/java/org/jboss/capedwarf/blobstore/, in source fileJBossBlobstoreService.java
public void storeUploadedBlobs(HttpServletRequest request) throws IOException, ServletException {
Map<String,BlobKey> map=new HashMap<String,BlobKey>();
Map<String,List<BlobKey>> map2=new HashMap<String,List<BlobKey>>();
for ( Part part : request.getParts()) {
if (ServletUtils.isFile(part)) {
BlobKey blobKey=storeUploadedBlob(part);
String name=part.getName();
map.put(name,blobKey);
List<BlobKey> list=map2.get(name);
if (list == null) {
list=new LinkedList<BlobKey>();
map2.put(name,list);
}
list.add(blobKey);
}
}
request.setAttribute(UPLOADED_BLOBKEY_ATTR,map);
request.setAttribute(UPLOADED_BLOBKEY_LIST_ATTR,map2);
}
Example 7
From project capedwarf-blue, under directory /blobstore/src/main/java/org/jboss/capedwarf/blobstore/, in source fileJBossBlobstoreService.java
private BlobKey storeUploadedBlob(Part part) throws IOException {
JBossFileService fileService=getFileService();
AppEngineFile file=fileService.createNewBlobFile(part.getContentType(),ServletUtils.getFileName(part));
ReadableByteChannel in=Channels.newChannel(part.getInputStream());
try {
FileWriteChannel out=fileService.openWriteChannel(file,true);
try {
IOUtils.copy(in,out);
}
finally {
out.closeFinally();
}
}
finally {
in.close();
}
return fileService.getBlobKey(file);
}
Example 8
From project capedwarf-blue, under directory /common/src/main/java/org/jboss/capedwarf/common/servlet/, in source fileServletUtils.java
public static String getFileName(Part part){
String contentDisposition=part.getHeader("content-disposition");
for ( String token : contentDisposition.split(";")) {
if (token.trim().startsWith("filename")) {
return token.substring(token.indexOf(‘=‘) + 1).trim().replace("\"","");
}
}
return null;
}
Example 9
From project Coffee-Framework, under directory /coffeeframework-core/src/main/java/coffee/, in source fileCoffeeRequestContext.java
/**
* @throws ServletException
* @throws IOException
* @throws FileUploadException
*/
public void parseMultiPartRequest() throws ServletException, IOException {
params=new HashMap<String,Object>();
for ( Part part : request.getParts()) {
String filename=getParameterFilename(part);
String fieldname=part.getName();
if (filename == null) {
String fieldvalue=getValue(part);
params.put(fieldname,fieldvalue);
}
else if (!filename.isEmpty()) {
if (reachedMaxFileSize(part)) throw new IOException("MAX_FILE_SIZE_REACHED");
params.put(fieldname,part);
}
}
}
Example 10
From project Coffee-Framework, under directory /coffeeframework-core/src/main/java/coffee/, in source fileCoffeeRequestContext.java
/**
* @param part
* @return
* @throws IOException
*/
public String getValue(Part part) throws IOException {
BufferedReader reader=new BufferedReader(new InputStreamReader(part.getInputStream(),"UTF-8"));
StringBuilder value=new StringBuilder();
char[] buffer=new char[1024];
for (int length=0; (length=reader.read(buffer)) > 0; ) {
value.append(buffer,0,length);
}
return value.toString();
}
Example 11
From project Coffee-Framework, under directory /coffeeframework-core/src/main/java/coffee/servlet/, in source fileJsonUploadServlet.java
public void doUpload(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
Collection<Part> parts=request.getParts();
ArrayList<E> createdObjects=new ArrayList<E>();
for ( Part part : parts) {
String fileName=getFileName(part);
writeFile(part,fileName);
try {
createdObjects.add(saveFile(fileName,part));
}
catch ( Exception e) {
throw new ServletException("Can‘t save the file.",e);
}
}
PrintWriter writer=response.getWriter();
writer.write(new Gson().toJson(createdObjects));
}
Example 12
From project fileUploadServlet3JSF2, under directory /src/main/java/net/balusc/http/multipart/, in source fileMultipartMap.java
/**
* Global constructor.
*/
private MultipartMap(HttpServletRequest multipartRequest,String location,boolean multipartConfigured) throws ServletException, IOException {
multipartRequest.setAttribute(ATTRIBUTE_NAME,this);
this.encoding=multipartRequest.getCharacterEncoding();
if (this.encoding == null) {
multipartRequest.setCharacterEncoding(this.encoding=DEFAULT_ENCODING);
}
this.location=location;
this.multipartConfigured=multipartConfigured;
for ( Part part : multipartRequest.getParts()) {
String filename=getFilename(part);
if (filename == null) {
processTextPart(part);
}
else if (!filename.isEmpty()) {
processFilePart(part,filename);
}
}
}
Example 13
From project fileUploadServlet3JSF2, under directory /src/main/java/net/balusc/http/multipart/, in source fileMultipartMap.java
/**
* Returns the filename from the content-disposition header of the given part.
*/
private String getFilename(Part part){
for ( String cd : part.getHeader(CONTENT_DISPOSITION).split(";")) {
if (cd.trim().startsWith(CONTENT_DISPOSITION_FILENAME)) {
return cd.substring(cd.indexOf(‘=‘) + 1).trim().replace("\"","");
}
}
return null;
}
Example 14
From project fileUploadServlet3JSF2, under directory /src/main/java/net/balusc/http/multipart/, in source fileMultipartMap.java
/**
* Process given part as Text part.
*/
private void processTextPart(Part part) throws IOException {
String name=part.getName();
String[] values=(String[])super.get(name);
if (values == null) {
put(name,new String[]{getValue(part)});
}
else {
int length=values.length;
String[] newValues=new String[length + 1];
System.arraycopy(values,0,newValues,0,length);
newValues[length]=getValue(part);
put(name,newValues);
}
}
Example 15
From project fileUploadServlet3JSF2, under directory /src/main/java/net/balusc/http/multipart/, in source fileMultipartMap.java
/**
* Process given part as File part which is to be saved in temp dir with the given filename.
*/
private void processFilePart(Part part,String filename) throws IOException {
filename=filename.substring(filename.lastIndexOf(‘/‘) + 1).substring(filename.lastIndexOf(‘\\‘) + 1);
String prefix=filename;
String suffix="";
if (filename.contains(".")) {
prefix=filename.substring(0,filename.lastIndexOf(‘.‘));
suffix=filename.substring(filename.lastIndexOf(‘.‘));
}
File file=File.createTempFile(prefix + "_",suffix,new File(location));
if (multipartConfigured) {
part.write(file.getName());
}
else {
InputStream input=null;
OutputStream output=null;
try {
input=new BufferedInputStream(part.getInputStream(),DEFAULT_BUFFER_SIZE);
output=new BufferedOutputStream(new FileOutputStream(file),DEFAULT_BUFFER_SIZE);
byte[] buffer=new byte[DEFAULT_BUFFER_SIZE];
for (int length=0; ((length=input.read(buffer)) > 0); ) {
output.write(buffer,0,length);
}
}
finally {
if