commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bhadu <rajbhadu_r...@rediffmail.com>
Subject Uploading a File using apache commons Http clien
Date Mon, 17 Sep 2007 07:20:41 GMT

Hi all,
 sorry for repost b'coz my first post is consists with error...

this is right post......



I have to web application using servlets.
My First web application's servlet is calling servlet of another application
using HTTP client connection.
 Calling servlet is sending file as parameter to second servlet.

My problem is that in my second servlet there is nothing in request
parameter.

Look at my code...............First servlet...........


           String urlString = "http://localhost:8787//testone//MyServlet";
		
	   		
			HttpClient client = new HttpClient();
	        PostMethod postMethod = new PostMethod(urlString);
	        post(postMethod);
	      
	        
	       
	        client.getParams().setParameter("http.useragent", "My Browser");
	        postMethod.addParameter("test","testvalue");
	        NameValuePair[] nm = {new NameValuePair("test","test")};
	        postMethod.setRequestBody(nm);
	        int statusCode1 = client.executeMethod(postMethod);
	        System.out.println(" status >>> "+statusCode1);
	        System.out.println("statusLine>>>" + postMethod.getStatusLine());
	        postMethod.releaseConnection();
	        

	}

	private void post(PostMethod postMethod) throws FileNotFoundException
	{
		 File f = new File("C:\\error.txt");
		 System.out.println("file exit = "+f.exists());
		Part[] parts = {
                new FilePart(f.getName(), f)
            };
	
postMethod.addRequestHeader("Content-type","multipart/form-data;boundary="+f.length());
		postMethod.addRequestHeader("content-disposition","form-data;
name="+f.getName());
		postMethod.setRequestEntity(
                new MultipartRequestEntity(parts, postMethod.getParams())
                );
	}

  And This is my Second servlet.......................



protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws IOException 
	{
		
		 String path = System.getenv("Target_PATH");	
		try
	    {
		  DiskFileItemFactory df = new DiskFileItemFactory();
	      PrintWriter out = response.getWriter();
	      
	        ServletFileUpload fu = new ServletFileUpload(df);
	        // If file size exceeds, a FileUploadException will be thrown
	        fu.setSizeMax(1000000);
	        
	        List fileItems = fu.parseRequest(request);
	        Iterator itr = fileItems.iterator();
	        
	        while(itr.hasNext()) {
	          FileItem fi = (FileItem)itr.next();
	         
	          createFile(path,"signedresources.txt", fi.get());
	          
	        }
	        
	        
	       
	        out.println("SUCCESS123456: ");
	      out.close();
	    }
	    catch(Exception e)
	    {
	      e.printStackTrace();
	    }
	  
		
 		
	}
	
     
	
	
    private  void createFile(String destinationPath, String fileName, byte[] 
content) throws IOException
    {     
        
        OutputStream outputStream = new FileOutputStream(destinationPath);
        outputStream.write(content);
        outputStream.flush();
        outputStream.close();
    }


problem is here....... List fileItems = fu.parseRequest(request); list is
empty.

So anybody can tell me what is wrong I m doing?

I am using Tomcat 5.0.

Thanx In advance

bhadu

-- 
View this message in context: http://www.nabble.com/Uploading-a-File-using-apache-commons-Http-clien-tf4464865.html#a12730645
Sent from the Commons - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message