답변은 잊어 버린 세미콜론에서 언급했듯이 반복 다운로드가 필요한지 또는 일회 완료되었는지 여부에 따라 다릅니다.
어느 쪽이든, 핵심은 다운로드 창의 내용 유형을 설정하여 다운로드 창이 표시되도록하는 것입니다. 스트레이트 텍스트 출력의 문제점은 브라우저가 자체 창에 데이터를 표시하려고 시도한다는 것입니다.
콘텐츠 형식을 설정하는 핵심 방법은 텍스트가 출력 문자열이고 filename이 파일을 (로컬로) 저장하려는 기본 이름이라고 가정하고 다음과 비슷한 내용을 사용하는 것입니다.
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.ContentType = "application/octet-stream";
response.Charset = "";
response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", filename));
response.Flush();
response.Write(text);
response.End();
이렇게하면 사용자에게 다운로드하라는 메시지가 표시됩니다.
문자 그대로 웹 서버에 파일을 저장해야하는 경우 더 까다로워집니다. 거기에서 System.IO의 클래스를 사용하여 텍스트 파일에 텍스트를 작성하려고합니다. 네트워크 서비스, IUSR_MachineName 및 ASPNET Windows 사용자가 작성하는 경로에 쓰기 권한이 있는지 확인하십시오. 그렇지 않으면 동일한 거래 - 콘텐츠 유형 및 헤더를 사용하여 다운로드를 보장합니다.
필자는 필 요없이 파일을 저장하지 말 것을 권장합니다. 서버에서 직접 그렇게하는 기술이 올바른 아이디어가 아닐 수도 있습니다. (예를 들어 파일을 다운로드 할 때 액세스 제어가 필요한 경우에는 호스팅 환경에 따라 앱 루트 외부에서이 작업을 수행해야합니다.
따라서 알지 못하지만 당신은 일회용 또는 파일 필연적 인 저장 모드에 있고 보안 의미를 모른 채 (서버 측 저장이 정말로 필요한 경우 스스로 해결해야 할 수도 있음), 가능한 최선책입니다. 줘.
동일한 파일을 반복적으로 다운로드 할 예정입니까, 아니면 한 번일까요? –