ブラウザでページを開いてファイルをダウンロードするためのプログラムコード(php/jsp/java)は、学習が必要な学生が参照できます。
Tomcatでの設定は次のとおりです:
コードは次のとおりです |
コードをコピー |
<マイムマッピング>
「」
マイムマッピング>
<マイムマッピング>
「」
マイムマッピング>
上記の設定では、拡張子が txt または jpg のリソースにアクセスすると、ダウンロード プロンプト ボックスが表示されます。上記のリソースに対してのみダウンロード プロンプト ボックスを表示する必要がある場合、上記の設定は機能しません。リソース 応答ヘッダーに content-type を設定するだけです。例: |
php入力
コードは次のとおりです
コードをコピー
|
| header("コンテンツタイプ:アプリケーション/オクテットストリーム");
header('Content-Disposition:attachment; filename="downloaded.txt"');
ファイルプログラムをダウンロード |
コードは次のとおりです
コードをコピー
|
|
header("content-type:text/html; charset=utf-8");
$file_name=$_GET['name'] //サーバーの実際のファイル名;
$file_realName=urldecode($_GET['real']); //データベースのファイル名はurlencode化されています
$file_dir="アップロード/";
$file = fopen($file_dir . $file_name,"r") // ファイルを開きます ;
//ファイルタグを入力
header( "プラグマ: public" );
header( "有効期限: 0" );
Header("Content-type: application/octet-stream");
Header("Accept-Range: バイト");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition:attachment; filename=" .iconv("UTF-8","GB2312//TRANSLIT",$file_realName));
//ファイルの内容を出力します
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
終了します;
?>
| のJava
コードは次のとおりです
コードをコピー
| response.setContentType("アプリケーション/オクテットストリーム");
resp.setHeader("Content-Disposition", "attachment;filename="downloaded.txt"); |
ダウンロードの保存名を設定する必要がある場合は、Content-Disposition 属性を使用して指定できます。
例
コードは次のとおりです |
コードをコピー |
<%@page language="java" contentType="application/x-msdownload" import="java.io.*,java.net.*" pageEncoding="gbk"%><%
response.reset();//追加することも追加しないこともできます
response.setContentType("application/x-download");// application/x-download をダウンロードするように設定します
///../../WEB-INF/classes の 2 レベルをアプリケーションのルート ディレクトリに戻します。次の文で取得されるパスは、Tomcat と WebLogic で異なります。 WebLogic のパスの終点
ServletContext コンテキスト = session.getServletContext();
String realContextPath = context.getRealPath("")+"計画計画データ テンプレート.xls";
文字列 filenamedisplay = "プラン データ テンプレート.xls";
ファイル名表示 = URLEncoder.encode(ファイル名表示,"UTF-8");
response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);
OutputStream 出力 = null;
FileInputStream fi = null
試してみてください
{
出力 = 応答.getOutputStream();
fis = 新しい FileInputStream(realContextPath);
byte[] b = 新しいバイト[1024];
int i = 0;
while((i = fis.read(b)) > 0)
{
出力.write(b, 0, i);
}
出力.flush();
}
キャッチ(例外e)
{
System.out.println("エラー!");
e.printStackTrace();
}
ついに
{
if(fis != null)
{
fis.close();
fis = null;
}
if(出力 != null)
{
出力.close();
出力 = null
}
}
%>
http://www.bkjia.com/PHPjc/631598.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/631598.html
| 技術記事
ブラウザでページを開いてファイルをダウンロードするプログラム コード (php/jsp/java) は、学習が必要な学生の参考として使用できます。 Tomcat の設定は次のとおりです。 コードは次のとおりです。コード mime-mapping exten... をコピーします。