本文整理汇总了Java中org.apache.commons.httpclient.methods.multipart.FilePart类的典型用法代码示例。如果您正苦于以下问题:Java FilePart类的具体用法?Java FilePart怎么用?Java FilePart使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
FilePart类属于org.apache.commons.httpclient.methods.multipart包,在下文中一共展示了FilePart类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testPostFilePart
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
/**
* Test that the body consisting of a file part can be posted.
*/
public void testPostFilePart() throws Exception {
this.server.setHttpService(new EchoService());
PostMethod method = new PostMethod();
byte[] content = "Hello".getBytes();
MultipartRequestEntity entity = new MultipartRequestEntity(
new Part[] {
new FilePart(
"param1",
new ByteArrayPartSource("filename.txt", content),
"text/plain",
"ISO-8859-1") },
method.getParams());
method.setRequestEntity(entity);
client.executeMethod(method);
assertEquals(200,method.getStatusCode());
String body = method.getResponseBodyAsString();
assertTrue(body.indexOf("Content-Disposition: form-data; name=\"param1\"; filename=\"filename.txt\"") >= 0);
assertTrue(body.indexOf("Content-Type: text/plain; charset=ISO-8859-1") >= 0);
assertTrue(body.indexOf("Content-Transfer-Encoding: binary") >= 0);
assertTrue(body.indexOf("Hello") >= 0);
}
示例2: buildParts
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
private List<Part> buildParts(BaseRequest request) {
List<Part> parts = new ArrayList<Part>();
for (PartHolder h : TankHttpUtil.getPartsFromBody(request)) {
if (h.getFileName() == null) {
StringPart stringPart = new StringPart(h.getPartName(), new String(h.getBodyAsString()));
if (h.isContentTypeSet()) {
stringPart.setContentType(h.getContentType());
}
parts.add(stringPart);
} else {
PartSource partSource = new ByteArrayPartSource(h.getFileName(), h.getBody());
FilePart p = new FilePart(h.getPartName(), partSource);
if (h.isContentTypeSet()) {
p.setContentType(h.getContentType());
}
parts.add(p);
}
}
return parts;
}
示例3: addFormDataPart
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
private void addFormDataPart(List<Part> parts, RequestableHttpVariable httpVariable, Object httpVariableValue) throws FileNotFoundException {
String stringValue = ParameterUtils.toString(httpVariableValue);
if (httpVariable.getDoFileUploadMode() == DoFileUploadMode.multipartFormData) {
String filepath = Engine.theApp.filePropertyManager.getFilepathFromProperty(stringValue, getProject().getName());
File file = new File(filepath);
if (file.exists()) {
String charset = httpVariable.getDoFileUploadCharset();
String type = httpVariable.getDoFileUploadContentType();
if (org.apache.commons.lang3.StringUtils.isBlank(type)) {
type = Engine.getServletContext().getMimeType(file.getName());
}
parts.add(new FilePart(httpVariable.getHttpName(), file.getName(), file, type, charset));
} else {
throw new FileNotFoundException(filepath);
}
} else {
parts.add(new StringPart(httpVariable.getHttpName(), stringValue));
}
}
示例4: buildMultipartPostRequest
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
public PostRequest buildMultipartPostRequest(File file, String filename, String siteId, String containerId) throws IOException
{
Part[] parts =
{
new FilePart("filedata", file.getName(), file, "text/plain", null),
new StringPart("filename", filename),
new StringPart("description", "description"),
new StringPart("siteid", siteId),
new StringPart("containerid", containerId)
};
MultipartRequestEntity multipartRequestEntity = new MultipartRequestEntity(parts, new HttpMethodParams());
ByteArrayOutputStream os = new ByteArrayOutputStream();
multipartRequestEntity.writeRequest(os);
PostRequest postReq = new PostRequest(UPLOAD_URL, os.toByteArray(), multipartRequestEntity.getContentType());
return postReq;
}
示例5: testPostFilePartUnknownLength
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
public void testPostFilePartUnknownLength() throws Exception {
this.server.setHttpService(new EchoService());
String enc = "ISO-8859-1";
PostMethod method = new PostMethod();
byte[] content = "Hello".getBytes(enc);
MultipartRequestEntity entity = new MultipartRequestEntity(
new Part[] {
new FilePart(
"param1",
new TestPartSource("filename.txt", content),
"text/plain",
enc) },
method.getParams());
method.setRequestEntity(entity);
client.executeMethod(method);
assertEquals(200,method.getStatusCode());
String body = method.getResponseBodyAsString();
assertTrue(body.indexOf("Content-Disposition: form-data; name=\"param1\"; filename=\"filename.txt\"") >= 0);
assertTrue(body.indexOf("Content-Type: text/plain; charset="+enc) >= 0);
assertTrue(body.indexOf("Content-Transfer-Encoding: binary") >= 0);
assertTrue(body.indexOf("Hello") >= 0);
}
示例6: putAsciiFile
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
/**
*Procedure parameters: Filename which is a string representing a file on the local system
*Parameters to TeleplanBroker are
*ExternalAction = "AputAscii"
*This is a RFC1867 Multi-part post
*Results from TeleplanBroker are:
* "SUCCESS"
* "FAILURE"
*/
public TeleplanResponse putAsciiFile(File f) throws FileNotFoundException{
Part[] parts = { new StringPart("ExternalAction", "AputAscii"), new FilePart("submitASCII", f) };
return processRequest(CONTACT_URL,parts);
// my ($filename) = @_;
// my $request = POST $WEBBASE, Content_type => 'form-data',
// Content => ['submitASCII' => [ $filename ],
// 'ExternalAction' => 'AputAscii'
// ];
// my $retVal = processRequest($request);
// if ($retVal == $SUCCESS)
// {#valid response
// if ($Result ne "SUCCESS")
// {
// $retVal = $VALID;
// }
// }
// else
// {
// $retVal = $ERROR;
// }
// return $retVal;
}
示例7: putMSPFile
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
/**
*Procedure parameters: Filename which is a string representing a file on the local system
*Parameters to TeleplanBroker are
*ExternalAction = "AputRemit"
*This is a RFC1867 Multi-part post
*Results from TeleplanBroker are:
* "SUCCESS"
* "FAILURE"
*/
public TeleplanResponse putMSPFile(File f) throws FileNotFoundException {
Part[] parts = { new StringPart("ExternalAction", "AputRemit"), new FilePart("submitFile", f) };
return processRequest(CONTACT_URL,parts);
//
// my ($filename) = @_;
// my $request = POST $WEBBASE, Content_Type => 'form-data',
// Content => ['submitFile' => [ $filename ],
// 'ExternalAction' => 'AputRemit'
// ];
// my $retVal = processRequest($request);
// if ($retVal == $SUCCESS)
// {#valid response
// if ($Result ne "SUCCESS")
// {
// $retVal = $VALID;
// }
// }
// else
// {
// $retVal = $ERROR;
// }
// return $retVal;
// return null;
}
示例8: testSendMultiPartForm
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
@Test
public void testSendMultiPartForm() throws Exception {
HttpClient httpclient = new HttpClient();
File file = new File("src/main/resources/META-INF/NOTICE.txt");
PostMethod httppost = new PostMethod("http://localhost:" + getPort() + "/test");
Part[] parts = {
new StringPart("comment", "A binary file of some kind"),
new FilePart(file.getName(), file)
};
MultipartRequestEntity reqEntity = new MultipartRequestEntity(parts, httppost.getParams());
httppost.setRequestEntity(reqEntity);
int status = httpclient.executeMethod(httppost);
assertEquals("Get a wrong response status", 200, status);
String result = httppost.getResponseBodyAsString();
assertEquals("Get a wrong result", "A binary file of some kind", result);
assertNotNull("Did not use custom multipart filter", httppost.getResponseHeader("MyMultipartFilter"));
}
示例9: testSendMultiPartFormOverrideEnableMultpartFilterFalse
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
@Test
public void testSendMultiPartFormOverrideEnableMultpartFilterFalse() throws Exception {
HttpClient httpclient = new HttpClient();
File file = new File("src/main/resources/META-INF/NOTICE.txt");
PostMethod httppost = new PostMethod("http://localhost:" + getPort() + "/test2");
Part[] parts = {
new StringPart("comment", "A binary file of some kind"),
new FilePart(file.getName(), file)
};
MultipartRequestEntity reqEntity = new MultipartRequestEntity(parts, httppost.getParams());
httppost.setRequestEntity(reqEntity);
int status = httpclient.executeMethod(httppost);
assertEquals("Get a wrong response status", 200, status);
assertNotNull("Did not use custom multipart filter", httppost.getResponseHeader("MyMultipartFilter"));
}
示例10: testHttpClient
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
@Test
public void testHttpClient() throws Exception {
File jpg = new File("src/test/resources/java.jpg");
String body = "TEST";
Part[] parts = new Part[] {new StringPart("body", body), new FilePart(jpg.getName(), jpg)};
PostMethod method = new PostMethod("http://localhost:" + port2 + "/test/hello");
MultipartRequestEntity requestEntity = new MultipartRequestEntity(parts, method.getParams());
method.setRequestEntity(requestEntity);
HttpClient client = new HttpClient();
client.executeMethod(method);
String responseBody = method.getResponseBodyAsString();
assertEquals(body, responseBody);
String numAttachments = method.getResponseHeader("numAttachments").getValue();
assertEquals(numAttachments, "2");
}
示例11: sendFile
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
public static int sendFile(final String host, final String port, final String path, final String fileName,
final InputStream inputStream, final long lengthInBytes) {
HttpClient client = new HttpClient();
try {
client.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
client.getParams().setSoTimeout(3600 * 1000); // One hour
PostMethod post = new PostMethod("http://" + host + ":" + port + "/" + path);
Part[] parts = { new FilePart(fileName, new PartSource() {
@Override
public long getLength() {
return lengthInBytes;
}
@Override
public String getFileName() {
return "fileName";
}
@Override
public InputStream createInputStream() throws IOException {
return new BufferedInputStream(inputStream);
}
}) };
post.setRequestEntity(new MultipartRequestEntity(parts, new HttpMethodParams()));
client.executeMethod(post);
if (post.getStatusCode() >= 400) {
String errorString = "POST Status Code: " + post.getStatusCode() + "\n";
if (post.getResponseHeader("Error") != null) {
errorString += "ServletException: " + post.getResponseHeader("Error").getValue();
}
throw new HttpException(errorString);
}
return post.getStatusCode();
} catch (Exception e) {
LOGGER.error("Caught exception while sending file", e);
Utils.rethrowException(e);
throw new AssertionError("Should not reach this");
}
}
示例12: testUploadFile
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
@Test
public void testUploadFile() throws IOException, URISyntaxException {
final HttpClient c = loginWithCookie("administrator", "olat");
final URI uri = UriBuilder.fromUri(getNodeURI()).path("files").build();
// create single page
final URL fileUrl = RepositoryEntriesITCase.class.getResource("singlepage.html");
assertNotNull(fileUrl);
final File file = new File(fileUrl.toURI());
final PutMethod method = createPut(uri, MediaType.APPLICATION_JSON, true);
method.addRequestHeader("Content-Type", MediaType.MULTIPART_FORM_DATA);
final Part[] parts = { new FilePart("file", file), new StringPart("filename", file.getName()) };
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
final int code = c.executeMethod(method);
assertEquals(code, 200);
final OlatNamedContainerImpl folder = BCCourseNode.getNodeFolderContainer((BCCourseNode) bcNode, course1.getCourseEnvironment());
final VFSItem item = folder.resolve(file.getName());
assertNotNull(item);
}
示例13: write
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
@Override
public void write(String name, final File file, String fileName, String contentType, String charset, final boolean deleteAfterUpload) throws IOException {
parts.add(new FilePart(name, fileName!=null && !fileName.isEmpty()? fileName: file.getName(), file, contentType, charset){
@Override
protected void sendData(OutputStream out) throws IOException {
super.sendData(out);
if (deleteAfterUpload) {
try {
boolean deleted = file.delete();
if (!deleted) {
LOGGER.warning("Unable to delete file: "+file.getAbsolutePath());
}
} catch (SecurityException ex) {
LOGGER.warning("Unable to delete file: "+file.getAbsolutePath());
}
}
}
});
}
示例14: getMultipartRequest
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
private MockHttpServletRequest getMultipartRequest( ) throws Exception
{
MockHttpServletRequest request = new MockHttpServletRequest( );
byte [ ] fileContent = new byte [ ] {
1, 2, 3
};
Part [ ] parts = new Part [ ] {
new FilePart( "file1", new ByteArrayPartSource( "file1", fileContent ) )
};
MultipartRequestEntity multipartRequestEntity = new MultipartRequestEntity( parts, new PostMethod( ).getParams( ) );
// Serialize request body
ByteArrayOutputStream requestContent = new ByteArrayOutputStream( );
multipartRequestEntity.writeRequest( requestContent );
// Set request body to HTTP servlet request
request.setContent( requestContent.toByteArray( ) );
// Set content type to HTTP servlet request (important, includes Mime boundary string)
request.setContentType( multipartRequestEntity.getContentType( ) );
request.setMethod( "POST" );
return request;
}
示例15: getJsonPostForMultipartRequestEntity
import org.apache.commons.httpclient.methods.multipart.FilePart; //导入依赖的package包/类
/**
* <p>This creates a HttpMethod with the message as its payload and image attachment. The message should be a properly formatted JSON
* String (No validation is done on this).</p>
*
* <p>The message can be easily created using the {@link #getJsonPayload(Message)} method.</p>
*
* @param uri The full URI which we will post to
* @param message A properly formatted JSON message. UTF-8 is expected
* @param image A complete instance of ImageAttachment object
* @throws IOException
*/
public HttpMethod getJsonPostForMultipartRequestEntity(String uri, String message, ImageAttachment image) throws IOException {
PostMethod post = new PostMethod(uri);
StringPart bodyPart = new StringPart("json", message);
bodyPart.setContentType("application/json");
FilePart filePart= new FilePart("feedItemFileUpload", image.retrieveObjectFile());
filePart.setContentType(image.retrieveContentType());
Part[] parts = {
bodyPart,
filePart,
};
post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams()));
return post;
}