Search in sources :

Example 6 with ByteArrayPartSource

use of org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource in project zm-mailbox by Zimbra.

the class ZMailbox method uploadAttachment.

/**
     * Uploads a byte array to <tt>FileUploadServlet</tt>.
     * @return the attachment id
     */
public String uploadAttachment(String name, byte[] content, String contentType, int msTimeout) throws ServiceException {
    FilePart part = new FilePart(name, new ByteArrayPartSource(name, content));
    part.setContentType(contentType);
    return uploadAttachments(new Part[] { part }, msTimeout);
}
Also used : FilePart(org.apache.commons.httpclient.methods.multipart.FilePart) ByteArrayPartSource(org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource)

Example 7 with ByteArrayPartSource

use of org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource in project sling by apache.

the class HttpOsgiClient method installBundle.

@Override
public void installBundle(InputStream in, String fileName) throws OsgiClientException {
    if (in == null) {
        throw new IllegalArgumentException("in may not be null");
    }
    if (fileName == null) {
        throw new IllegalArgumentException("fileName may not be null");
    }
    // append pseudo path after root URL to not get redirected for nothing
    final PostMethod filePost = new PostMethod(repositoryInfo.appendPath("system/console/install"));
    try {
        // set referrer
        filePost.setRequestHeader("referer", "about:blank");
        List<Part> partList = new ArrayList<>();
        partList.add(new StringPart("action", "install"));
        partList.add(new StringPart("_noredir_", "_noredir_"));
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        IOUtils.copy(in, baos);
        PartSource partSource = new ByteArrayPartSource(fileName, baos.toByteArray());
        partList.add(new FilePart("bundlefile", partSource));
        partList.add(new StringPart("bundlestart", "start"));
        Part[] parts = partList.toArray(new Part[partList.size()]);
        filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
        int status = getHttpClient().executeMethod(filePost);
        if (status != 200) {
            throw new OsgiClientException("Method execution returned status " + status);
        }
    } catch (IOException e) {
        throw new OsgiClientException(e);
    } finally {
        filePost.releaseConnection();
    }
}
Also used : ByteArrayPartSource(org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource) PartSource(org.apache.commons.httpclient.methods.multipart.PartSource) PostMethod(org.apache.commons.httpclient.methods.PostMethod) ArrayList(java.util.ArrayList) StringPart(org.apache.commons.httpclient.methods.multipart.StringPart) ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) MultipartRequestEntity(org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity) FilePart(org.apache.commons.httpclient.methods.multipart.FilePart) ByteArrayPartSource(org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource) StringPart(org.apache.commons.httpclient.methods.multipart.StringPart) FilePart(org.apache.commons.httpclient.methods.multipart.FilePart) Part(org.apache.commons.httpclient.methods.multipart.Part) OsgiClientException(org.apache.sling.ide.osgi.OsgiClientException)

Aggregations

ByteArrayPartSource (org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource)7 FilePart (org.apache.commons.httpclient.methods.multipart.FilePart)7 PostMethod (org.apache.commons.httpclient.methods.PostMethod)5 MultipartRequestEntity (org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity)5 Part (org.apache.commons.httpclient.methods.multipart.Part)5 StringPart (org.apache.commons.httpclient.methods.multipart.StringPart)5 HttpClient (org.apache.commons.httpclient.HttpClient)4 ServiceException (com.zimbra.common.service.ServiceException)3 Element (com.zimbra.common.soap.Element)3 SoapHttpTransport (com.zimbra.common.soap.SoapHttpTransport)3 HeaderElement (org.apache.commons.httpclient.HeaderElement)3 HttpState (org.apache.commons.httpclient.HttpState)3 Test (org.junit.Test)3 IOException (java.io.IOException)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 ArrayList (java.util.ArrayList)1 ImageReader (javax.imageio.ImageReader)1 ImageInputStream (javax.imageio.stream.ImageInputStream)1 Credentials (org.apache.commons.httpclient.Credentials)1