요청시 파일을 보내는 매우 간단한 API가 있습니다.
서버는 다음과 같습니다.
public class Server {
public static void main(String... args) throws Exception {
// start the server
System.out.println("starting jetty...");
final org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server(80);
server.setHandler(new Handler());
server.start();
System.out.println("jetty server has started");
}
}
및 핸들러 :
public class Handler extends AbstractHandler {
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
if(target.matches("/get")){
File file = getFile(); //assume filename is myFile.zip
byte[] bytes = FileUtils.readFileToByteArray(file);
response.getOutputStream().write(bytes);
response.flushBuffer();
}
}
}
localhost:80/get
브라우저에서 요청 하면 원하는 파일을 저장하지만 브라우저 이름을get
요청시 파일이 다음과 같이 저장되도록하려면 어떤 변경을 수행해야 myFile.zip
합니까?
다음과 같은 파일 이름을 추가 할 수 있습니다.
response.setHeader("Content-Disposition", "filename=myFile.xyz");
브라우저에서 저장 대화 상자를 열려면 첨부 파일을 추가하십시오.
response.setHeader("Content-Disposition", "attachment; filename=myFile.xyz");
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다