2012-04-24 17 views
0

私はすべてのサーブレットとHTMLページを持つTomcat WebサーバーWS1があります。 WS1のクライアントは、WS1上にファイルをアップロードします。そのファイルは、他のフォルダのWS1に読み込まれ、暗号化されて保存されます。Webサーバーから別のマシンにファイルを転送するクライアント

私はこの暗号化されたファイルをマシンAで送信/転送する必要があります。クライアントが保存したファイルを検索し、そのファイルをマシンAからWS1にダウンロードする必要があるとします。その復号化されたファイルはクライアント上で送信されるべきである。

私は暗号化部分を完了しましたが、ファイル転送に固執しました。どうすればこれを達成できますか?

答えて

0

ここでは、 "ファイルはマシンAからWS1にダウンロードする"、または "ファイルをWebサーバーからマシン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

+0

ファイル名とmy_fileに置き換える必要があるコードを上記のコードで指定してください。私はmy_fileを "http://169.254.174.150:8084/WebApplication1/files/encrypt.txt"に置き換えようとしましたが、encrypt.txtでファイル名を書き換えましたが、動作しません。また、私はファイルが格納される場所を取得していない..助けてください。 thanx .. – sanket

+0

上記の例の場所にファイルがある場合。次に、 'request.getContextPath()/ files/encrypt.txt'だけがサーブレットで動作します –

関連する問題