richie
7 years ago
3 changed files with 0 additions and 299 deletions
@ -1,142 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
package com.fr.third.org.apache.commons.fileupload.portlet; |
|
||||||
|
|
||||||
import java.io.IOException; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import javax.portlet.ActionRequest; |
|
||||||
|
|
||||||
import com.fr.third.org.apache.commons.fileupload.FileItemFactory; |
|
||||||
import com.fr.third.org.apache.commons.fileupload.FileItemIterator; |
|
||||||
import com.fr.third.org.apache.commons.fileupload.FileUpload; |
|
||||||
import com.fr.third.org.apache.commons.fileupload.FileUploadBase; |
|
||||||
import com.fr.third.org.apache.commons.fileupload.FileUploadException; |
|
||||||
|
|
||||||
/** |
|
||||||
* <p>High level API for processing file uploads.</p> |
|
||||||
* |
|
||||||
* <p>This class handles multiple files per single HTML widget, sent using |
|
||||||
* <code>multipart/mixed</code> encoding type, as specified by |
|
||||||
* <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a>. Use {@link |
|
||||||
* #parseRequest(javax.servlet.http.HttpServletRequest)} to acquire a list |
|
||||||
* of {@link com.fr.third.org.apache.commons.fileupload.FileItem FileItems} associated |
|
||||||
* with a given HTML widget.</p> |
|
||||||
* |
|
||||||
* <p>How the data for individual parts is stored is determined by the factory |
|
||||||
* used to create them; a given part may be in memory, on disk, or somewhere |
|
||||||
* else.</p> |
|
||||||
* |
|
||||||
* @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a> |
|
||||||
* @author <a href="mailto:dlr@collab.net">Daniel Rall</a> |
|
||||||
* @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a> |
|
||||||
* @author <a href="mailto:jmcnally@collab.net">John McNally</a> |
|
||||||
* @author <a href="mailto:martinc@apache.org">Martin Cooper</a> |
|
||||||
* @author Sean C. Sullivan |
|
||||||
* |
|
||||||
* @since FileUpload 1.1 |
|
||||||
* |
|
||||||
* @version $Id$ |
|
||||||
*/ |
|
||||||
public class PortletFileUpload extends FileUpload { |
|
||||||
|
|
||||||
// ---------------------------------------------------------- Class methods
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* Utility method that determines whether the request contains multipart |
|
||||||
* content. |
|
||||||
* |
|
||||||
* @param request The portlet request to be evaluated. Must be non-null. |
|
||||||
* |
|
||||||
* @return <code>true</code> if the request is multipart; |
|
||||||
* <code>false</code> otherwise. |
|
||||||
*/ |
|
||||||
public static final boolean isMultipartContent(ActionRequest request) { |
|
||||||
return FileUploadBase.isMultipartContent( |
|
||||||
new PortletRequestContext(request)); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------- Constructors
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* Constructs an uninitialised instance of this class. A factory must be |
|
||||||
* configured, using <code>setFileItemFactory()</code>, before attempting |
|
||||||
* to parse requests. |
|
||||||
* |
|
||||||
* @see FileUpload#FileUpload(FileItemFactory) |
|
||||||
*/ |
|
||||||
public PortletFileUpload() { |
|
||||||
super(); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* Constructs an instance of this class which uses the supplied factory to |
|
||||||
* create <code>FileItem</code> instances. |
|
||||||
* |
|
||||||
* @see FileUpload#FileUpload() |
|
||||||
* @param fileItemFactory The factory to use for creating file items. |
|
||||||
*/ |
|
||||||
public PortletFileUpload(FileItemFactory fileItemFactory) { |
|
||||||
super(fileItemFactory); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
// --------------------------------------------------------- Public methods
|
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> |
|
||||||
* compliant <code>multipart/form-data</code> stream. |
|
||||||
* |
|
||||||
* @param request The portlet request to be parsed. |
|
||||||
* |
|
||||||
* @return A list of <code>FileItem</code> instances parsed from the |
|
||||||
* request, in the order that they were transmitted. |
|
||||||
* |
|
||||||
* @throws FileUploadException if there are problems reading/parsing |
|
||||||
* the request or storing files. |
|
||||||
*/ |
|
||||||
public List /* FileItem */ parseRequest(ActionRequest request) |
|
||||||
throws FileUploadException { |
|
||||||
return parseRequest(new PortletRequestContext(request)); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> |
|
||||||
* compliant <code>multipart/form-data</code> stream. |
|
||||||
* |
|
||||||
* @param request The portlet request to be parsed. |
|
||||||
* |
|
||||||
* @return An iterator to instances of <code>FileItemStream</code> |
|
||||||
* parsed from the request, in the order that they were |
|
||||||
* transmitted. |
|
||||||
* |
|
||||||
* @throws FileUploadException if there are problems reading/parsing |
|
||||||
* the request or storing files. |
|
||||||
* @throws IOException An I/O error occurred. This may be a network |
|
||||||
* error while communicating with the client or a problem while |
|
||||||
* storing the uploaded content. |
|
||||||
*/ |
|
||||||
public FileItemIterator getItemIterator(ActionRequest request) |
|
||||||
throws FileUploadException, IOException { |
|
||||||
return super.getItemIterator(new PortletRequestContext(request)); |
|
||||||
} |
|
||||||
} |
|
@ -1,108 +0,0 @@ |
|||||||
/* |
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
* contributor license agreements. See the NOTICE file distributed with |
|
||||||
* this work for additional information regarding copyright ownership. |
|
||||||
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
* (the "License"); you may not use this file except in compliance with |
|
||||||
* the License. You may obtain a copy of the License at |
|
||||||
* |
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
* |
|
||||||
* Unless required by applicable law or agreed to in writing, software |
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
* See the License for the specific language governing permissions and |
|
||||||
* limitations under the License. |
|
||||||
*/ |
|
||||||
package com.fr.third.org.apache.commons.fileupload.portlet; |
|
||||||
|
|
||||||
import java.io.InputStream; |
|
||||||
import java.io.IOException; |
|
||||||
import javax.portlet.ActionRequest; |
|
||||||
import com.fr.third.org.apache.commons.fileupload.RequestContext; |
|
||||||
|
|
||||||
/** |
|
||||||
* <p>Provides access to the request information needed for a request made to |
|
||||||
* a portlet.</p> |
|
||||||
* |
|
||||||
* @author <a href="mailto:martinc@apache.org">Martin Cooper</a> |
|
||||||
* |
|
||||||
* @since FileUpload 1.1 |
|
||||||
* |
|
||||||
* @version $Id$ |
|
||||||
*/ |
|
||||||
public class PortletRequestContext implements RequestContext { |
|
||||||
|
|
||||||
// ----------------------------------------------------- Instance Variables
|
|
||||||
|
|
||||||
/** |
|
||||||
* The request for which the context is being provided. |
|
||||||
*/ |
|
||||||
private ActionRequest request; |
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------- Constructors
|
|
||||||
|
|
||||||
/** |
|
||||||
* Construct a context for this request. |
|
||||||
* |
|
||||||
* @param request The request to which this context applies. |
|
||||||
*/ |
|
||||||
public PortletRequestContext(ActionRequest request) { |
|
||||||
this.request = request; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
// --------------------------------------------------------- Public Methods
|
|
||||||
|
|
||||||
/** |
|
||||||
* Retrieve the character encoding for the request. |
|
||||||
* |
|
||||||
* @return The character encoding for the request. |
|
||||||
*/ |
|
||||||
public String getCharacterEncoding() { |
|
||||||
return request.getCharacterEncoding(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Retrieve the content type of the request. |
|
||||||
* |
|
||||||
* @return The content type of the request. |
|
||||||
*/ |
|
||||||
public String getContentType() { |
|
||||||
return request.getContentType(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Retrieve the content length of the request. |
|
||||||
* |
|
||||||
* @return The content length of the request. |
|
||||||
*/ |
|
||||||
public int getContentLength() { |
|
||||||
return request.getContentLength(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Retrieve the input stream for the request. |
|
||||||
* |
|
||||||
* @return The input stream for the request. |
|
||||||
* |
|
||||||
* @throws IOException if a problem occurs. |
|
||||||
*/ |
|
||||||
public InputStream getInputStream() throws IOException { |
|
||||||
return request.getPortletInputStream(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Returns a string representation of this object. |
|
||||||
* |
|
||||||
* @return a string representation of this object. |
|
||||||
*/ |
|
||||||
public String toString() { |
|
||||||
return "ContentLength=" |
|
||||||
+ this.getContentLength() |
|
||||||
+ ", ContentType=" |
|
||||||
+ this.getContentType(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,49 +0,0 @@ |
|||||||
<!-- |
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||||
contributor license agreements. See the NOTICE file distributed with |
|
||||||
this work for additional information regarding copyright ownership. |
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||||
(the "License"); you may not use this file except in compliance with |
|
||||||
the License. You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0 |
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
--> |
|
||||||
<!-- $Id$ --> |
|
||||||
<html> |
|
||||||
<head> |
|
||||||
<title>Overview of the com.fr.third.org.apache.commons.fileupload.portlet component</title> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<p> |
|
||||||
An implementation of |
|
||||||
{@link com.fr.third.org.apache.commons.fileupload.FileUpload FileUpload} |
|
||||||
for use in portlets conforming to JSR 168. This implementation requires |
|
||||||
only access to the portlet's current <code>ActionRequest</code> instance, |
|
||||||
and a suitable |
|
||||||
{@link com.fr.third.org.apache.commons.fileupload.FileItemFactory FileItemFactory} |
|
||||||
implementation, such as |
|
||||||
{@link com.fr.third.org.apache.commons.fileupload.disk.DiskFileItemFactory DiskFileItemFactory}. |
|
||||||
</p> |
|
||||||
<p> |
|
||||||
The following code fragment demonstrates typical usage. |
|
||||||
</p> |
|
||||||
<pre> |
|
||||||
DiskFileItemFactory factory = new DiskFileItemFactory(); |
|
||||||
// Configure the factory here, if desired. |
|
||||||
PortletFileUpload upload = new PortletFileUpload(factory); |
|
||||||
// Configure the uploader here, if desired. |
|
||||||
List fileItems = upload.parseRequest(request); |
|
||||||
</pre> |
|
||||||
<p> |
|
||||||
Please see the FileUpload |
|
||||||
<a href="http://jakarta.apache.org/commons/fileupload/using.html" target="_top">User Guide</a> |
|
||||||
for further details and examples of how to use this package. |
|
||||||
</p> |
|
||||||
</body> |
|
||||||
</html> |
|
Loading…
Reference in new issue