servlet下載文件

下載本地文件:
java

public HttpServletResponse download(String path,HttpServletResponse response) {
	try {
		// path是指欲下載的文件的路徑。
		File file = new File(path);
		// 取得文件名。
		String filename = file.getName();
		// 取得文件的後綴名。
		String ext = filename.substring(filename.lastIndexOf(".") + 1)
				.toUpperCase();

		// 以流的形式下載文件。
		InputStream fis = new BufferedInputStream(new FileInputStream(path));
		byte[] buffer = new byte[fis.available()];
		fis.read(buffer);
		fis.close();
		// 清空response
		response.reset();
		// 設置response的Header
		response.addHeader("Content-Disposition", "attachment;filename="
				+ new String(filename.getBytes()));
		response.addHeader("Content-Length", "" + file.length());
		OutputStream toClient = new BufferedOutputStream(
				response.getOutputStream());
		response.setContentType("application/octet-stream");
		toClient.write(buffer);
		toClient.flush();
		toClient.close();
	} catch (IOException ex) {
		ex.printStackTrace();
	}
	return response;
}

下載網絡文件:網絡

public void downloadNet(HttpServletResponse response)
			throws MalformedURLException {
		// 下載網絡文件
		int bytesum = 0;
		int byteread = 0;

		URL url = new URL("windine.blogdriver.com/logo.gif");

		try {
			URLConnection conn = url.openConnection();
			InputStream inStream = conn.getInputStream();
			FileOutputStream fs = new FileOutputStream("c:/abc.gif");

			byte[] buffer = new byte[1204];
			int length;
			while ((byteread = inStream.read(buffer)) != -1) {
				bytesum += byteread;
				System.out.println(bytesum);
				fs.write(buffer, 0, byteread);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
相關文章
相關標籤/搜索