Da ich einen MultiPart-Post anstrebe (weil ich mehrere Files zugleich uploaden will), habe ich die Methode sendData(OutputStream) der Klasse org.apache.commons.httpclient.methods.multipart.FilePart um die Benachrichtigung eines ProgressListeners erweitert:
P.S.: Der ProgressListener ist ein frei erfundenes Interface, das bei der Instantiierung meiner FilePart-Klasse mitgegeben wird.
|
Java Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
protected void sendData(OutputStream out) throws IOException {
[...]
byte[] tmp = new byte[4096];
InputStream instream = getSource().createInputStream();
try
{
int len;
while ((len = instream.read(tmp)) >= 0)
{
out.write(tmp, 0, len);
if (progressListener != null)
progressListener.bytesWritten((double)len / 1000.00); // weil meine Implementierung des Listeners in KB arbeitet
}
}
finally
{
// we're done with the stream, close it
instream.close();
}
}
|