0

ファイルを保存し、ファイルをサーバー コンテキスト外のディレクトリにダウンロードする必要があります。私は使用しApache Tomacat ていますアプリケーションの webapps ディレクトリにあるディレクトリでこれを行うことができます

私のディレクトリ構造が次のようになっている場合、

--src
--WebContent
    -- uploaddir
         -- myfile.txt

その後、簡単にダウンロードできます。

      <a href="uploaddir/myfile.txt" target="_blank">download</a>

しかし、問題は、ファイルが他のディレクトリにある場合ですd:\\uploadedfile\\myfile.txt

上記のようにリソースがサーバーコンテキストにないため、ダウンロードできません。

次のようなuuidマッピングへのファイルパスがあります

d:\\uploadedfiles\\myfile.txt <-> some_uuid

次に、次のクリックでファイルをダウンロードする必要があります。

   <a href="filedownloadservlet?ref_file=some_uuid">download</a>

それで、サーバーコンテキストの外にあるときにファイルをダウンロード可能にする方法、これを行う方法について聞いたことがありますgetResourceAsStream()が、おそらく単純なコードスニペットを使用して、これを行う方法について誰かが助けてくれますか?

4

3 に答える 3

1

ここで私は答えを見つけました、

 response.setContentType("application/msword");
 response.setHeader("Content-Disposition","attachment;filename=downloadname.doc");
 File file=new File("d:\\test.doc");
 InputStream is=new FileInputStream(file);
 int read=0;
 byte[] bytes = new byte[BYTES_DOWNLOAD];
 OutputStream os = response.getOutputStream();
 while((read = is.read(bytes))!= -1){
  os.write(bytes, 0, read);
 }
 os.flush();
 os.close();
于 2013-04-18T10:44:05.693 に答える