- From: Christopher William Turner <cwturner@cycom.co.uk>
- Date: Mon, 26 Feb 2001 02:24:15 +0000
- To: Bob Schader <rschader@product-des.com>
- CC: Jigsaw List <www-jigsaw@w3.org>
- Message-ID: <3A99BE4F.A6F2FDE1@cycom.co.uk>
There is a similar problem and you could look at the 2 solutions at:-
http://www.hotdispatch.com/view-task-provider?ID=11846974
I wrote the first solution which is actually just diagnosis tips.
The second solution suggest that utf-8 encoding doesn't work.
The real solution probably remains for you to find.
Chris.
Bob Schader wrote:
>
> Further notes:
> I have found example code in an old 1996 message, which I
> have now changed mine to match in the following regards:
>
> Changed
> InputStream in = new FileInputStream(localFile)
> to
> InputStream in = new BufferedInputStream(new FileInputStream(
> localFile));
>
> and changed the request.setValue calls for ContentLength and
> ContentType to request.setContentLength() and
> request.setContentType() calls.
>
> I have added a in.close() call when done and also added
> debug calls to request.dump() and reply.dump(), all of which
> seems to output valid headers and replies, but:
>
> I am still getting file corruption on the uploaded file!
> Getting Desparate,
> Bob Schader
>
> Bob Schader wrote:
> >
> > Intro to my problem:
> > I finally thought I found a way to monitor HTTP PUT uploads
> > by using the w3c client java library included with Winie and
> > also part of Jigsaw, so I could implement a pure java
> > upload app, as opposed to my current method of incorporating
> > libcurl and using native calls. I previously found the
> > standard HttpURLConnection classes in java inadaquate for this
> > purpose and had other problems trying to use the HttpClient
> > library from www.innovations.ch
> >
> > After studying the source code to Winie's JW and JWPut classes,
> > and reading the Javadocs for the Jigsaw client library, I tried
> > to implement it, and thought I was doing pretty good at it,
> > until I decided to verify that my uploaded files were OK, which
> > I discovered they weren't. So, I tried backing up, removing
> > StreamMonitors, ByteCountInputStreams, etc, to see if those
> > items were causing the problems, which they weren't. I now have
> > the following compacted code, that seems to be uploading files
> > with no errors, but the zip files I am uploading are being
> > corrupted. I am 99% certain it is not on the server side, as
> > I have never had any other problems uploading files using PUT.
> >
> > Hopefully someone more versed in the client library code could
> > point out something I may have missed here:
> >
> > try
> > {
> > HttpCredential credential = null;
> > HttpManager manager = HttpManager.getManager() ;
> > org.w3c.www.protocol.http.Request request = manager.createRequest();
> > request.setObserver(this);
> > request.setMethod("PUT");
> > request.setURL(new URL(CompleteURL));
> > request.setValue("Content-Type", "application/octet-stream");
> > request.setValue("Content-Length", String.valueOf(localFlen));
> > Base64Encoder encoder = new Base64Encoder(AuthUser + ":"
> > + AuthPasswd);
> > credential = HttpFactory.makeCredential("Basic");
> > credential.setAuthParameter("cookie", encoder.processString());
> > request.setAuthorization(credential);
> > request.setExpect("100-continue");
> >
> > InputStream in = new FileInputStream(localFile);
> >
> > if(in != null)
> > {
> > request.setOutputStream(in);
> > }
> > if (request != null) {
> > org.w3c.www.protocol.http.Reply reply =
> > manager.runRequest(request);
> > } else {
> > System.out.println("request object is null!");
> > }
> > } catch (HttpException ex) {
> > System.out.println(ex.getMessage());
> > } catch(FileNotFoundException fnfex) {
> > System.out.println(fnfex.getMessage());
> > } catch (MalformedURLException mfuex) {
> > System.out.println(mfuex.getMessage());
> > } catch (IOException ioex) {
> > System.out.println(ioex.getMessage());
> > }
> >
> > Thanks in advance,
> > Bob Schader
Received on Sunday, 25 February 2001 20:26:57 UTC