I am posting a file from an applet to a servlet, problem is it is slow, the file unwantedly cached in memory before transmitting and I don't know how to get the ammount of data that has been sent(It seems that flushing the buffer and counting what you put in it is utterly useless; note I'm using this to draw my progress bar). I need some help here because this project is in danger. -a man in need
Carl Trusiak
Sheriff
Joined: Jun 13, 2000
Posts: 3340
posted
0
I would need a few more details to completely figure this out but, it would seem that you aren't using the correct InputStreams to do this. Can you post the code where you read the file in and write it to the URLConnection?
class FileBG extends Thread { public ProgressBar pgbar; private BarBG barthread; private DataInputStream datain; private DataOutputStream dataout;; private long filesize; private ByteThread bytethread; public void run() { try { long byteswritten = 0; float percentup = 0; byte[] outarray = new byte[2048]; while (true) { datain.read(outarray); dataout.write(outarray); dataout.flush(); } close and catch here Hope you can help me now.
Declan Conlon
Ranch Hand
Joined: Jul 03, 2001
Posts: 34
posted
0
Sorry forgot the URLConnection setup File outfile = new File(globalfilestr); URL location = new URL(getCodeBase(), "http://127.0.0.1:8080/examples/servlet/ServerServ"); URLConnection out = location.openConnection(); out.setUseCaches(false); out.setRequestProperty("Content-Type", "application/x-java-serialized-object"); out.setRequestProperty("Filename", globalfilename); DataInputStream datain = new DataInputStream(filein); DataOutputStream dataout = new DataOutputStream(out.getOutputStream()); filethread.setFileSize(outfile.length()); filethread.setInputStream(datain); filethread.setOutputStream(dataout); filethread.setPgBar(pgbar); filethread.start();
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.
subject: Drowning need someone to throw me a line.