2012-01-10 1 views
3

text/xml 파일을 생성하고, content-type을 application-download로 설정하고, 클라이언트에 첨부 파일 등을 추가하는 버튼을 만드는 방법이 있습니까? 측면? 내가 원하는 것은 XML 파일을 저장하는 "다운로드"버튼이다."Save as"버튼을 IE에 저장하고 클라이언트 측에 파일 저장

response.StatusCode = 200; 
     response.ContentEncoding = Encoding.UTF32; 
     response.AddHeader("content-disposition", "attachment; filename=" + fileName); 
     response.AddHeader("Content-Transfer-Encoding", "binary"); 
     response.AddHeader("Content-Length", response.ContentEncoding.GetByteCount(xmlString).ToString()); 
     response.ContentType = "application-download"; 
     response.Write(xmlString);  
+0

당신은 자바 스크립트 뜻? –

+0

C#으로 ASP.NET이라고 추측합니다. – Carlito

+0

@ JanHančič 예, javascript/jquery – Johan

답변

0

당신이 jQuery를/자바 스크립트에서 파일을 생성하고 브라우저에서 디스크에 저장할 수 있도록 의미하는 경우, 대답은 일반 NO입니다 : 이것은 내가 서버 측에서 같은 일을하는 방법이다. Javascript는 보안상의 이유로 디스크에 저장할 수 없으며 브라우저가 로컬로 생성 된 것에 대한 "다른 이름으로 저장 ..."팝업을 표시하지도 않습니다. 질문에 대한 쉬운 해결책이 있습니다. 귀하의 예제에서 xml 파일을 생성하여 서버에서 첨부 파일로 보내고 있습니다. 왜 서버에서 생성 된 파일을 다운로드하기위한 단추를 만들지 않습니까? 일반 아약스로는 할 수 없으므로 브라우저에서 다운로드를 실행할 수 없지만 이전의 "iframe 다운로드 트릭"을 사용하여 같은 페이지에서 다운로드를 시작할 수 있습니다. 다른 창/탭을 엽니 다 괜찮다면

function download(url_to_your_creating_file_servlet){ 
iframe = document.createElement('iframe'); 
iframe.style.visibility = 'hidden'; 
document.body.appendChild(iframe); 
iframe.src = url_to_your_creating_file_servlet; 
} 

또는은 (조금 못 생겼어)이 또한 작동합니다

<a href="url_to_your_creating_file_servlet" target="blank"> Download </a> 
관련 문제