>  기사  >  Java  >  Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)

Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)

php是最好的语言
php是最好的语言원래의
2018-08-06 17:31:511781검색

近 우선 최근에 공부하고 있는 서비스에 대해서 말씀드리겠습니다. 서블릿은 서버에서 실행되는 코드 조각입니다.


서블릿에는 세 가지 표준 서블릿 기술인 리스너 기술(리스너)과 파일러 기술(필터)이 있습니다. 마지막 두 가지는 향후 블로그에서 소개될 예정입니다. ServletContext 객체가 무엇인지 이야기해 봅시다. ServletContext 객체는 웹 애플리케이션 환경(컨텍스트)을 나타내며 웹 애플리케이션에는 단 하나의 ServletContext 객체만 있습니다.

ServletContext는 도메인 개체입니다. 데이터 영역에 저장되는 것은 도메인 개체이고 해당 범위는 모든 웹 리소스입니다.

파일을 서버(공개된 웹사이트의 컴퓨터)에 저장하는 경우에 대해 이야기해 보겠습니다.

Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)

괜찮지만 이런 상황이 발생하게 됩니다. jpg형식으로 다운받고 싶은데 브라우저가 바로 열려서 다운로드가 안되는데 zip형식으로 다운로드가 가능하네요. 브라우저가 구문 분석하는 것을 방지하려면 코드를 통해 설정해야 합니다. 다운로드 준비가 완료되었습니다.

새 서블릿 파일을 생성하고 get 코드에 작성합니다.

		//解决获得中文参数的乱码
		filename=new String(filename.getBytes("ISO8859-1"),"UTF-8");
		//要下载的文件的类型--客户端通过文件的MIME类型去区分类型
		response.setContentType(this.getServletContext().getMimeType(filename));
		//告诉客户端该文件不是直接解析而是以附件的形式打开(下载)
		response.setHeader("Content-Disposition", "attachment;filename="+filename);
		//收获文件的绝对路径
		String path = this.getServletContext().getRealPath("download/"+filename);
		//获得文件的输入流
		FileInputStream in = new FileInputStream(path);
		//获得输出流--通过response获得输出流用于向客户端写内容
		ServletOutputStream out = response.getOutputStream();
		//文件拷贝的模板代码
		int len=0;
		byte[] buffer=new byte[1024];
		while((len=in.read(buffer))>0){
			out.write(buffer, 0, len);
		}
		in.close();
		out.close();

이 아웃은 끌 수도 있고 안 끌 수도 있지만, 인은 프로그램에 새로 추가된 기능이라 꺼야 합니다. out은 프로그램 실행 후 자동으로 닫힙니다.

Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)

그렇습니다.

이는 서버의 리소스와 동일합니다.

Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)

관련 권장 사항:

java 구문 분석 XML 파일

java 폴더 구문 분석

위 내용은 Java 파일 다운로드에 대한 자세한 튜토리얼(구문 분석 없음)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.