이것은 이상한 것입니다 ... 저는 서버에 CSV 파일을 가지고 있으며 아래 코드를 통해 사용자가 사용할 수 있도록합니다.System.Web.HttpContext.Current.Response는 필드를 구문 분석합니다.
공동 이름, 프로세스 날짜, 직원 ID, 성, 이름, 커스트 인증, ENTERED_HRS, 노동 유형
: 일반적으로 설정 한 결과는 항상 마지막 레코드의 마지막 필드를 생략하는 것을 제외하고 정확온도, 2014년 2월 21일, CONTRACTOR0001, Dahlenburg, 에릭, 131137057134,5,0
온도, 2014년 2월 21일, CONTRACTOR0001, Dahlenburg, 에릭, 1411310002,8,0
온도 2014 -02-21, CONTRACTOR0001, Dahlenburg, Eric, 1411320015,6.69,0
온도, 2014- 02-21, CONTRACTOR0001, Dahlenburg, Eric, 1413500001105,6
마지막 레코드의 끝에 ", 0"이 없습니까? Visual Studio에서는 잘 작동하지만 개발 서버에서는 마지막 부분을 생략합니다.
원본 CSV 파일에 모든 데이터 필드가 있는지 확인했습니다. CSV 파일에 대해 다른 경로 위치를 시도했지만 변경하지 않았습니다. 왜 비주얼 스튜디오가 아닌 서버에서 작동하는지 이해할 수 없습니다.
부록 : 중요한지는 모르겠지만 소스 파일은 서버의 가상 디렉터리 (실제 파일이 아님)에 있습니다. 어떤 아이디어 ???
// Causes Save As Dialog box to appear for user.
String FileName = fileName;
String FilePath = strFilePath;
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/csv";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.WriteFile(FilePath + FileName);
response.Flush();
response.Close();
// response.End(); // Same as response.TransmitFile(), but causes an exception because it raises the EndRequest event.