Skip to main content

Upload File with Form Data in Java

This is simple Java code to upload file with form data 

Jar file Used: Apache Http Client 

package com.james.util.file.upload;


import java.io.File;
import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class FileUpload {
   
        public static void main(String[] args) throws ClientProtocolException, IOException {
           
            String  ticket="62cd28e08e398be82e38a064ed";
            String url = "?ticket=";
            String contentPath = "/home/james/sqltips.pdf";
            String desc  = "Description Text";
            String schemaType  = "Savings";
            String customerName = "james";
           
            String response = uploadFile(url,ticket,desc,
schemaType,customerName,contentPath);
          
            System.out.println("Response From Server   "+response);
        }

       

        public static String uploadFile(String url, String ticket, String desc, String
schemaType, String customerName,String contentPath) throws ClientProtocolException, IOException
        {
            String response = null;

  
            HttpPost post = new HttpPost(url+ticket); //Just for testing purpose please use StringBuilder
           
            File file = new File(contentPath);
             FileBody fileBody = new FileBody(file);
           
            CloseableHttpClient httpclient = HttpClients.createDefault();
           
            StringBody strBody_desc  = new StringBody(desc, ContentType.MULTIPART_FORM_DATA);
            StringBody strBody_
schemaType  = new StringBody(schemaType, ContentType.MULTIPART_FORM_DATA);
            StringBody strBody_customerName = new StringBody(customerName, ContentType.MULTIPART_FORM_DATA);          
           
        
           
            HttpEntity reqEntity = MultipartEntityBuilder.create()
                    .addPart("file", fileBody)
                    .addPart("description", strBody_desc)
                    .addPart("
schemaType", strBody_schemaType)
                    .addPart("customerName", strBody_customerName)
                    .build();
           
            post.setEntity(reqEntity);
           
           
            CloseableHttpResponse httpResponse = httpclient.execute(post);
            try {
                HttpEntity entity1 = httpResponse.getEntity();
                if (entity1 != null) {
                    response = EntityUtils.toString(entity1);
                } else {


                               //Print other message
                           }
                } finally {
                    httpResponse.close();
                }
         
            return response;
        }
       
}

Comments

Popular posts from this blog

Import and Export using OPLOG.RS in MongoDB

Edit mongod.conf  to add replicate set sudo vi /etc/mongod.conf Add this following lines in mongod.conf replication:   replSetName: rs0   oplogSizeMB: 1024 Then restart mongod by "sudo service mongod restart" Check for mongo status if everything is fine sudo service mongod status if everything is OK you get this result otherwise please check/var/log/mongodb/mongod.log for any errors. mongod start/running, process 5806 Now go to Shell prompt and type  >mongo Then type > use  //To change your working DB > rs.initiate() { "info2" : "no configuration explicitly specified -- making one", "me" : "jamesnirmal:27017", "ok" : 1 } Now command prompt will changed to  rs0:PRIMARY> Now type rs0:PRIMARY> use local rs0:PRIMARY> show collections me oplog.rs startup_log system.indexes system.replset MongoRestore: Now go to Normal shell and crea

Configure Alfresco in Ubuntu 10.4 LTS

Pre-Requisition 1. Mysql 2. Image Magic 3. Swftools 4. Open Office 5. Alfresco Community Edition 3.2 To update apt source.list 1. open source.list using vi /etc/apt/sources.list 2. enable all debian url To update Latest apt-get Repository 1. sudo apt-get update To Install 32 Bit Software sudo apt-get install ia32-libs To Install MySql 1. apt-get install mysql-server To Install Sun Jdk 1. aptitude install sun-java6-jdk 2. ./jdk-6u20-linux-x64.bin 3. mv jdk1.6.0_20/ /usr/local/java 4. chmod a+rx -R /usr/local/java 5. open vi /etc/profile 6. export JAVA_HOME=/usr/local/java 7. export PATH=$JAVA_HOME/bin:$PATH 8. export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/tools.jar To install Open Office (If Really Needed) 1. If open office is not installed then please download the Open Office click here 2. mv OOo_3.2.1_Linux_x86-64_install-deb_en-US.tar.gz /opt/ 3. cd /opt/ 4. tar zxvf OOo_3.2.1_Linux_x86-64_install-deb_en-US.tar.gz 5. cd OOO320_m18_native_packed-1_en