Jeah! it also works for me! thanks!
----- Original Message -----
From: "Michael Weller" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, November 02, 2002 13:06
Subject: Re: sending a file from Java application to servlet


> Hi!
> For me this works great:
> ----client-----
> HttpURLConnection uc = (HttpURLConnection)new URL("...").openConnection();
> File mp3File = ...;
> uc.setRequestProperty("fName", mp3File.getName());
> uc.setRequestMethod("POST");
> BufferedOutputStream bout = new
> BufferedOutputStream(uc.getOutputStream(),256);
> BufferedInputStream bin = new BufferedInputStream(new
> FileInputStream(mp3File),256);
> byte[] b=new byte[256];
> int n=-1;
> while ((n = bin.read(b,0,b.length))!=-1)
>     bout.write(b,0,n);
> bin.close();
> bout.close();
> ------client---------
>
> -----server-------
> String fName = request.getHeader("fName");
> BufferedInputStream bin = new
BufferedInputStream(request.getInputStream());
> File mp3File = new File(getServletContext().getRealPath("/mp3/"),fName);
> if (!mp3File.exists()) mp3File.createNewFile();
> FileOutputStream fout = new FileOutputStream(
> byte[] b=new byte[256];
> int n=-1;
> while ((n=bin.read(b,0,b.length))!=-1)
>     fout.write(b,0,n);
> bin.close();
> fout.close();
> ------server-----------
>
> Hope this helps!
>
> -mw
>
>
> ----- Original Message -----
> From: "Peter Maas" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Saturday, November 02, 2002 1:00 PM
> Subject: Re: sending a file from Java application to servlet
>
>
> > Well... ok... works fine... but still the binary transfer doesn't seem
to
> > work.. I'm currently using a CORBA workarround...
> >
> > P
> >
> > ----- Original Message -----
> > From: "Michael Weller" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Saturday, November 02, 2002 12:37
> > Subject: Re: sending a file from Java application to servlet
> >
> >
> > > Hi!
> > > Why don't you simply use
> URLConnection.setRequestProperty("fName","value")
> > > to pass the mp3's filename to the servlet? On the server-side you'd
> simply
> > > do a request.getHeader("fName") to get the name.
> > >
> > > -mw
> > >
> > > ----- Original Message -----
> > > From: "Peter Maas" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Friday, November 01, 2002 6:33 PM
> > > Subject: Re: sending a file from Java application to servlet
> > >
> > >
> > > > I tried doing that and it almost works... but... (probably a realy
> > stupid
> > > > mistake)....
> > > > I would like to transfer an mp3 file to the servlet this is how the
> code
> > > in
> > > > the app looks:
> > > >
> > > >     DataOutputStream printout = new
> > > > DataOutputStream(urlC.getOutputStream());
> > > >
> > > >    File theFile = new File(file);
> > > >    String fname = "filename="+theFile.getName();
> > > >      printout.writeBytes(fname);
> > > >      printout.writeBytes("\n");
> > > >
> > > >       FileInputStream fos;
> > > >        DataInputStream ds;
> > > >       try {
> > > >          fos = new FileInputStream(file);
> > > >          ds = new DataInputStream( fos );
> > > >          byte[] data = new byte[(int)theFile.length()];
> > > >     ds.readFully(data);
> > > >     printout.write(data);
> > > >     ds.close();
> > > >        fos.close();
> > > >       }
> > > >       catch (IOException ioe) {
> > > >                System.out.println( "IO error: " + ioe );
> > > >    }
> > > >
> > > >      printout.flush();
> > > >      printout.close();
> > > >
> > > > The servlet side's code looks like this:
> > > >
> > > >     /**
> > > >     * Below we extract the filename from the
> > > >     * Http headers read so far.
> > > >     */
> > > >
> > > >     fFilename =
> > > >
> > >
> >
>
pLine.substring(9+pLine.lastIndexOf("filename="),pLine.lastIndexOf("mp3")+3)
> > > > ;
> > > >  System.out.println(fFilename);
> > > >
> > > >  /*
> > > >   * Write the remaining to disk
> > > >   */
> > > >
> > > >     FileOutputStream fos;
> > > >     DataOutputStream ds;
> > > >     try {
> > > >        fos = new FileOutputStream(UploadLocation+fFilename);
> > > >        ds = new DataOutputStream( fos );
> > > >    String line = br.readLine();
> > > >    if(line != null){
> > > >    ds.writeBytes(line);
> > > >    while((line = br.readLine()) != null){
> > > >     // if there is a newline in the header it probably came from the
> > > binary
> > > > data
> > > >     ds.writeBytes("\n");
> > > >       ds.writeBytes(line);
> > > >   }
> > > >    }
> > > >       ds.close();
> > > >       fos.close();
> > > >     }
> > > >     catch (IOException ioe) {
> > > >       System.err.println( "IO error: " + ioe );
> > > >  }
> > > >
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to