Web開発では、「ダウンロード」モジュールを開発する必要があることがよくあります。これが簡単な例です。
サーバー側では、Javaを使用して開発します。
@RequestMapping(value = "download.html"、method = requestmethod.get)public void download(string resourceId、httpservletrequest request、httpservletresponse response){respons.setContentType( "charset = utf-8"); file file = new file(path); Response.setheader( "content-disposition"、 "attachment; filename = a"); bufferedinputStream bis = null; BufferedOutputStream bos = null; outputStream fos = null; inputstream fis = null; try {fis = new fileInputStream(file.getAbsolutepath()); bis = new BufferedInputStream(FIS); fos = response.getOutputStream(); bos = new BufferedOutputStream(FOS); int bytesRead = 0; byte [] buffer = new byte [5 * 1024]; while((bytesread = bis.read(buffer))!= -1){bos.write(buffer、0、bytesread); } bos.flush(); } catch(e e){}最後に{try {bis.close(); bos.close(); fos.close(); fis.close(); } catch(ioexception e){e.printstacktrace(); }}}フロントエンドでこのアドレスをリクエストすると、サーバーは最初にファイルを見つけ、応答ヘッダーを設定し、次にストリームからブラウザ側に出力します。
ブラウザがヘッダーで応答の本文がストリームファイルであることを見つけた場合、ユーザーがダウンロードを保存できるように保存を自動的に[ウィンドウ]として呼び出します。
ここでの鍵は、コンテンツ拡散のヘッダープロパティです。コンテンツ拡散は、クライアントが添付ファイルを表示する方法を示すためのMIMEプロトコルの拡張です。
2つの値に設定できます。
インライン//オンラインで開く
添付ファイル//添付ファイルとしてダウンロードします
ここでは、添付ファイルに値を設定するため、添付ファイルとして認識されてダウンロードできます。
上記は、サーバー側への書き方と、フロントエンドをリクエストする方法についての次の説明について説明しています。
フロントエンドを要求するには、次の3つの方法があります。
1.FORM
<form action = 'download.html' method = 'post'> <入力タイプ= '送信'/> </form>
2.IFRAME
var iframe = "<iframe style = 'display:none' src = 'download.html'> </iframe>" body.append(iframe);
iframeが本体に追加されると、ダウンロードリンクが自動的に要求されます。
3.Open
window.open( "download.html");