2012-04-24 171 views
0

有一個Tomcat Web服務器,比如WS1,我擁有所有的servlet和HTML頁面。 WS1的客戶端上傳WS1上的文件。然後該文件被讀取,加密並存儲在WS1中的其他文件夾中。客戶端將文件從Web服務器傳輸到另一臺機器

我要做的是在一些其他機器上發送/傳輸這個加密文件,比如機器A.假設客戶機搜索他存儲的文件,該文件應該從機器A下載到WS1。WS1將執行解密和解密文件應在客戶端發送。

我已經完成了加密部分,但卡住了文件傳輸。我怎樣才能做到這一點?

回答

0

這裏a。 「文件應該從機器A下載到WS1」或它應該是b。「文件應該從網絡服務器下載到機器A」。

這實際上與您的問題標題和問題主體相矛盾。

如果「b」是你想要的(可能它應該是),然後,你需要編寫代碼從Web服務器WS1下載文件。

這裏是使用Servlet下載文件的摘錄。

String value = "attachment;filename=\"" + URLEncoder.encode(filename, "UTF-8") +'"'; 
response.setHeader("Content-Disposition", value); 

OutputStream out = response.getOutputStream(); 
FileInputStream in = new FileInputStream(my_file); 
byte[] buffer = new byte[4096]; 
int length; 
while ((length = in.read(buffer)) > 0){ 
    // logic to decrypt the file 
    out.write(buffer, 0, length); 
} 
in.close(); 
out.flush(); 

你需要處理適當的例外,當然。

+0

Thanx .. Ur代碼將有助於我在後面的下載。 – sanket 2012-04-24 11:30:43

+0

你可以指定我上面的代碼什麼應該替換爲文件名和my_file。我曾嘗試用「http://169.254.174.150:8084/WebApplication1/files/encrypt.txt」和文件名encrypt.txt替換my_file,但它不起作用。此外,我沒有得到文件的存儲位置..請幫助。 thanx .. – sanket 2012-04-25 03:09:42

+0

如果您的文件在提到的示例位置。那麼'request.getContextPath()/ files/encrypt.txt'就可以在Servlet中使用 – 2012-04-25 03:39:55

相關問題