簡體   English   中英

防止小程序緩存下載的文件

[英]Prevent applet from caching downloaded files

我有一個applet,它可以從網絡上檢索要打印的文件,有時會遇到問題,它返回文件的緩存版本,而不是返回已更改的實際版本。

例如:

URL http = new URL(url +"/"+ m_printfile.get(i));
Doc myDoc = new SimpleDoc(http, myFormat, das);
DocPrintJob job = service.createPrintJob();
job.print(myDoc, aset);

由於我使用SimpleDoc來打印文件,所以我沒有找到使用URLConnection對象的方法,這是我看到的唯一禁用文件緩存的方法。

是否可以使用URL對象執行此操作,或者可以將URLConnection傳遞給SimpleDoc?

1)您可以像這樣將URLConnection傳遞給SimpleDoc

URL http = new URL(url +"/"+ m_printfile.get(i));
URLConnection conn = http.openConnection();
conn.setUseCaches(false);
conn.connect();
Doc myDoc = new SimpleDoc(conn.getInputStream(), myFormat, das);
DocPrintJob job = service.createPrintJob();
job.print(myDoc, aset);

2)避免緩存的骯臟方法是添加一個與隨機無關的數據,如下所示:

URL http = new URL(url +"/"+ m_printfile.get(i) +"?z="+Math.random() );

這樣,每次看起來都像不同的URL,因此緩存不會受到影響...

PS:第二行對我來說似乎很奇怪。( Doc myDoc = new SimpleDoc(http, myFormat, das) )。 它真的對您有用嗎? 我的意思是, http不是InputStream對象。我錯了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM