jsp_實現文件下載功能

package MyWeb.java;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;

import javax.imageio.stream.FileImageInputStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Response;

public class Download extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
	
	//String path = this.getServletContext().getRealPath("/download/8.jpg"); //置入文件
	String path = this.getServletContext().getRealPath("/download/Dj舞曲 - 搖啊搖.mp3");
	
	//1	 response.getWriter().print(path); 1打印出照片的詳細地址 //
		
		//實行取得文件名稱的工能
		int index = path.lastIndexOf(File.separator);
		String name= path.substring(index+1);
	//	response.getWriter().print(name);
	
		
		//實行下載功能
		//response.setHeader("content-disposition", "attachment;filename = name");
response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(name, "utf-8"));//取得文件名的名字
		
		//實行圖片下載
		

		InputStream in = new FileInputStream(path);
		OutputStream out = response.getOutputStream();
		byte[] b = new byte[1024];
		int len = 0;
		while((len=in.read(b))!=-1){
			out.write(b,0,len);
		}
		in.close();
		
	}
	
		
		
		
		
		
		
		
		
		
		
		
		
		

  public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}

}


新建一個文件夾:用以存放要本程序要運用的文件。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章