ASP. NET 파일 을 다운로드 할 때 이름 을 바 꾸 는 방법 및 구현 방법

파일 을 다시 업로드 할 때 이전에 업로드 한 파일 을 덮어 쓰 지 않 을 때 도 있 고, 업 로드 된 대상 디 렉 터 리 에 파일 이 많 을 수 있 으 므 로, 이 때 는 하나씩 찾 아 보 는 것 이 좋 지 않 기 때문에 파일 이름 을 GUID 로 자동 으로 생 성 할 수 있 습 니 다.원래 이름하지만 다운로드 할 때 는 원래 이름 으로 복원 하 는 것 이 좋 습 니 다.이 럴 때 기분 나 쁘 게 들 어.관련 자 료 를 뒤 져 보 니 response 로 해결 할 수 있다 는 것 을 알 게 되 었 다.구체 적 인 코드 는 다음 과 같다.
[csharp] 
 
  
string path = Server.MapPath("aa\\ahaakladahsasdas_bb.zip");  
  
            string newfileName = ""; 
            if (File.Exists(path)) 
            { 
                FileInfo fi = new FileInfo(path); 
                Response.Clear();//Clear HTML 。 Clear  
                // 。 。 
                Response.ClearHeaders(); 
                Response.Buffer = false;// , True , 
                // ,   
                //Response.Flush Response.End , 。 
                string filename = Path.GetFileName(path); 
                newfileName = newfileName + filename.Substring(filename.LastIndexOf(".")); 
                Response.Clear(); 
                Response.ClearHeaders(); 
                Response.Buffer = false; 

                newfileName = HttpUtility.UrlEncode(newfileName);// , , 。   
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + newfileName);//  
                // attachment Response.AppendHeader("content-type", "attachment"); 。 

                Response.AppendHeader("Content-Length", fi.Length.ToString()); 
                Response.ContentType = "application/octet-stream"; 
                Response.WriteFile(newfileName);// response    
                Response.Flush();// response   
                Response.End(); 
                //Response.End();  
                //HttpContext.Current.ApplicationInstance.CompleteRequest(); 
            } 
            else 
            { 
                Response.Write("alert(‘ !');"); 
            }

 
 
 
 
 
 

좋은 웹페이지 즐겨찾기