ホームページ > Java > &#&チュートリアル > Javaサーブレットにファイルダウンロード機能を実装するにはどうすればよいですか?

Javaサーブレットにファイルダウンロード機能を実装するにはどうすればよいですか?

王林
リリース: 2023-04-26 18:37:08
転載
1675 人が閲覧しました

1. 説明

サーブレットは、対話形式でデータを参照および生成し、動的 ​​Web を生成するために Sun Corporation によって開発されたテクノロジーです。狭義のサーブレットとは、Java言語で実装されたインターフェースを指します。ただし、一般に、サーブレット インターフェイスを実装する Java プログラムを Servlet

2 と呼びます。サーブレット プログラムを使用してダウンロード

//得到需要下载的文件
String path = this.getServletContext().getRealPath("/upload/9/1/图片1.png");
File file = new File(path);
//读取服务器本地的文件
FileInputStream in = new FileInputStream(file);
/**
 * 处理URL编码问题
 */
String fileName = file.getName();
//对文件名进行URl编码
fileName = URLEncoder.encode(fileName, "utf-8");
//判断不同浏览器
String userAgent = request.getHeader("user-agent");
String filefix = null;
if(userAgent.contains("Trident")){
//IE
filefix = "filename="+fileName;
}else if(userAgent.contains("Firefox")){
//Firefox
filefix = "filename*="+fileName;
}else{
filefix = "filename="+fileName;
}
//告诉浏览器以下载方式打开资源
response.setHeader("Content-Disposition", "attachment;"+filefix);
//把本地文件发送给浏览器
byte[] buf = new byte[1024];
int len = 0;
while( (len=in.read(buf))!=-1 ){
response.getOutputStream().write(buf, 0, len);
}
//关闭
in.close();
ログイン後にコピー

以上がJavaサーブレットにファイルダウンロード機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート