慕的地6264312
2019-10-08 14:54:48
我對(duì)Java還是很陌生,并且大部分時(shí)間我都在自學(xué),所以我已經(jīng)開始構(gòu)建applet。我想制作一個(gè)可以從本地磁盤中選擇文件并將其作為多部分/表單數(shù)據(jù)POST請(qǐng)求上傳但帶有進(jìn)度條的文件。顯然,用戶必須授予Java小程序訪問硬盤的權(quán)限。現(xiàn)在,我已經(jīng)開始工作的第一部分:用戶可以使用JFileChooser對(duì)象選擇文件,該對(duì)象可以方便地返回File對(duì)象。但是我想知道接下來會(huì)發(fā)生什么。我知道這File.length()會(huì)給我文件的總大?。ㄒ宰止?jié)為單位),但是如何將所選內(nèi)容發(fā)送File到Web,以及如何監(jiān)視已發(fā)送多少個(gè)字節(jié)?提前致謝。
3 回答

www說
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
偵聽器返回的字節(jié)數(shù)與原始文件大小不同。因此,transferred++我沒有修改它,而是修改它transferred=len;這是寫入輸出流的實(shí)際字節(jié)數(shù)的長度。當(dāng)我計(jì)算除了總字節(jié)傳送它等于實(shí)際ContentLength的返回CountingMultiPartEntity.this.getContentLength();
public void write(byte[] b, int off, int len) throws IOException {
wrappedOutputStream_.write(b,off,len);
transferred=len;
listener_.transferred(transferred);
}
添加回答
舉報(bào)
0/150
提交
取消