저는 csv 파일을 만들고 브라우저로 보내고 있습니다. 일부 설치에서는 http 응답 본문의 시작 부분에 추가 문자가 추가되어 파일을 삭제합니다.csv 파일의 추가 문자
내 코드는 다음과 같습니다.
Dim File As New Text.StringBuilder
File.Append("Batch Name,")
File.Append("Batch Accepted Total")
File.AppendLine
For Each Batch In Batches
File.Append(Batch.Name)
File.Append(",")
File.AppendFormat("{0:c}", Batch.AcceptedTotal)
File.AppendLine
Next
Dim FileName = "SomeFile.csv"
Dim Encoder = Text.Encoding.UTF8
Dim FileData = Encoder.GetBytes(File.ToString)
Response.Clear
Response.ClearHeaders
Response.Buffer = True
Response.AddHeader("Content-Disposition", "attachment;filename=" & FileName)
Response.ContentType = "text/plain"
Response.OutputStream.Write(FileData, 0, FileData.Length)
Controller.FileData = Nothing
Response.Flush
Response.End
일부 설치 만 수행하며 일부는 수행하지 않습니다. 나는 이유를 모른다. 데이터베이스를 바꿔도 동일한 사이트에 여전히 문제가 있습니다. 그래서 나는 그것이 데이터에 의존하지 않는다는 것을 안다.
이 파일이
781
Batch Name,Batch Accepted Total
3/8/2013,$961.24
Lincoln Payroll,$999.99
0
첫 번째 줄의 변경에 718처럼 보이는 끝나는 것입니다. 그것은 파일의 크기에 따라 솔기가 있습니다. 결국 여분의 0은 절대로 바뀌지 않으며 어디에서 오는 것인지도 모르겠습니다.
업데이트 : 첫 번째 줄은 의도 한 내용의 길이가 16 진수임을 발견했습니다. 또한이 줄을 제거하면 추가 문자가 제거됩니다.
Response.Flush
나는 아직도 이유를 모른다. 그 라인은 필요하지 않았기 때문에 픽스를 찾지 못했습니다. 그러나 어떤 일이 일어나고 있는지에 대한 단서가 있다면 나는 그것을 듣고 싶습니다.