- From: Christopher William Turner <cwturner@cycom.co.uk>
- Date: Thu, 1 Apr 1999 11:58:16 -0500 (EST)
- To: Roland Mainz <Roland.Mainz@informatik.med.uni-giessen.de>
- CC: W3 Jigsaw Mailinglist <www-jigsaw@w3.org>
I assume di.filesize and sentsize agree. The problem may be in your client not the server. I would guess that content-type may be text and that some text conversion is going on. I once tried progammatically res.setContentType("text/html; charset=utf-8"); but the charset was ignored and stripped by Jigsaw. (utf-8 is variable length code and does change text sizes). Roland Mainz wrote: > Hi ! > > ---- > > The following code should copy a file on disk to the requesting client, > but the downloaded > file differs in size and content from the original file. > Any hint whats going wrong here ? > > -- snip -- > private void putFile( DownloadItem di, HttpServletResponse res ) > throws IOException > { > d( "sending '" + di.filename + "' (" + di.contenttype + ")" ); > > // get source > FileInputStream in = new FileInputStream( di.filename ); > > // prepare and get destination > res.setContentType( di.contenttype ); > res.setContentLength( (int)di.filesize ); /* seems that here > sits a possible problem for files >= 2 GB... */ > OutputStream out = res.getOutputStream(); > > int readlen, > sentsize = 0; > byte buffer[] = new byte[ 256 ]; > > // loop until EOF > while( (readlen = in.read( buffer )) != -1 ) > { > // throws IOException: broken pipe when download is canceled. > out.write( buffer, 0, readlen ); > sentsize += readlen; > } > > // Success ! Close streams. > out.close(); > in.close(); > > d( "transfer of " + di.filename + " (" + di.filesize + "/" + > sentsize + ") done." ); > } > -- snip -- > > ---- > > Bye, > Roland > > -- > __ . . __ > (o.\ \/ /.o) Roland Mainz C programmer > \__\/\/__/ Roland.Mainz@informatik.med.uni-giessen.de MPEG specialist > /O /==\ O\ gisburn@w-specht.rhein-ruhr.de Sun&&Amiga programmer > (;O/ \/ \O;) TEL +49 (0) 2426901568 FAX +49 (0) 2426901569 -- Chris Turner, http://www.cycom.co.uk/
Received on Thursday, 1 April 1999 12:21:51 UTC