2008-10-03 6 views
6

데이터베이스에서 정보를 가져 와서 .csv 형식으로 변환하고 HTTPResponse에 파일을 쓰는 웹 페이지가 있습니다.클라이언트로 보낸 파일의 이름을 변경 하시겠습니까?

string csv = GetCSV(); 
Response.Clear(); 
Response.ContentType = "text/csv"; 
Response.Write(csv); 

이 작업은 정상적으로 작동하며 파일은 문제없이 클라이언트로 전송됩니다. 그러나 파일이 클라이언트로 전송되면 더 친숙한 이름 (예 : "data.csv") 대신 현재 페이지의 이름이 사용됩니다.

alt text

내 질문은 내가 디스크에 파일을 작성하고 파일의 URL로 클라이언트를 리디렉션하지 않고 출력 스트림에 기록되는 파일의 이름을 변경하는 방법입니다?

편집 : 답변 주셔서 감사합니다. 나는 4 개의 동일한 응답을 얻었으므로, 첫 번째 응답을 대답으로 선택했습니다.

답변

11

나는 이것이 당신에게 도움이 될 것이라고 믿습니다.

Response.AddHeader("content-disposition", "attachment; filename=NewFileName.csv"); 
1

"attachment; filename = filename.csv"값의 "Content-Disposition"헤더를 추가하십시오.

1
Response.AddHeader("content-disposition", "attachment; filename=File.doc") 
관련 문제