텍스트 파일을 생성했으며 프로젝트 폴더의 위치에 저장됩니다. 텍스트 파일을 다운로드 할 수 있도록 해당 텍스트 파일이 포함 된 URL로 리디렉션하는 방법.URL에서 .txt 파일을 다운로드하는 방법은 무엇입니까?
CreateCSVFile은 데이터 테이블을 기반으로 파일 경로에 CSV 파일을 만듭니다.
콜링 :
string pth = ("C:\\Work\\PG\\AI Handheld Website\\AI Handheld Website\\Reports\\Files\\report.txt");
CreateCSVFile(data, pth);
그리고 기능 :
public void CreateCSVFile(DataTable dt, string strFilePath)
{
StreamWriter sw = new StreamWriter(strFilePath, false);
int iColCount = dt.Columns.Count;
for (int i = 0; i < iColCount; i++)
{
sw.Write(dt.Columns[i]);
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
// Now write all the rows.
foreach (DataRow dr in dt.Rows)
{
for (int i = 0; i < iColCount; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
sw.Write(dr[i].ToString());
}
if (i < iColCount - 1)
{
sw.Write(",");
}
}
sw.Write(sw.NewLine);
}
sw.Close();
Response.WriteFile(strFilePath);
FileInfo fileInfo = new FileInfo(strFilePath);
if (fileInfo.Exists)
{
//Response.Clear();
//Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.Name);
//Response.AddHeader("Content-Length", fileInfo.Length.ToString());
//Response.ContentType = "application/octet-stream";
//Response.Flush();
//Response.TransmitFile(fileInfo.FullName);
}
}
개인적으로 나는 이것이 잘못된 접근이라고 생각합니다. 분명히 그는 파일을 넣으려는 URL을 알고 있습니다. 예 : ~/Reports/Files/Report.txt. 그런 다음 가상 경로에서 실제 경로를 가져야합니다. 그 반대도 마찬가지입니다. 예 :'string physicalPath = Server.MapPath ("~/Reports/Files/report.txt"). "두 센트. – aquinas
그래, 나는 동의한다, 나는 그가 제시 한 코드의 틀에 근거하여 대답하고 있었다고 생각한다. 나는 그것을하는 더 나은 방법으로 내 대답을 업데이 트됩니다. –