2013-06-03 3 views
1

다음은 샘플 PDF 파일을 생성하는 코드입니다. 그러나 server.mappath 메서드는 프로젝트 폴더에 파일을 저장합니다. PDF 파일을 내 데스크톱에 저장하려면 어떻게합니까?pdf 파일을 저장할 위치를 지정하십시오 asp.net

protected void btnPDF_Click(object sender, EventArgs e) 
    { 


     var document = new Document(PageSize.A4, 50, 50, 25, 25); 
     var filename = DDLCase.SelectedItem.Text + ".pdf"; 
     var output = new FileStream(Server.MapPath(filename), FileMode.Create); 
     var writer = PdfWriter.GetInstance(document, output); 
     document.Open(); 
     var welcomeParagraph = new Paragraph("Test1"); 
     document.Add(welcomeParagraph); 
     document.Close(); 
     btnPDF.Enabled= false; 
    } 
+1

시도 - 왜 서버 위치가 다른 것보다 더 낫다고 생각 해요 (더하기 일부 계정이 제대로 "바탕 화면"을 채운하지 않을 수 있습니다) ... 또는 브라우저에서 대화 상자를 저장 하시겠습니까? 또는 서버 측 코드를 사용하여 사용자 컴퓨터의 바탕 화면에 저장 하시겠습니까? –

+0

'string fileName = Path.Combine (@ "C : \ Users \ username \ Desktop", 파일 이름);을 시도하거나'VirtualPathUtility'을 시도하십시오. – Rahul

+0

@AlexeiLevenkov 사실, 저는 현재 로컬 호스트에서 PDF 파일의 기초를 시험하고 있습니다. 그래서 저는 PDF 파일을 사용자 컴퓨터의 어떤 위치 에나 바탕 화면에 저장하는 방법을 찾으려하고 있습니다. –

답변

3

다른 위치에 Server.MapPath(filename)를 대체 할 매우 간단해야한다 귀하의 문제가 무엇인지 매우 불분명하다.

하나 개의 유용한 기능 Path.Combine 그래서 제대로 파일에 대한 경로를 구축 할 수 있습니다 :

var output = new FileStream(Path.Combine("c:\\myPDF\\", filename), FileMode.Create); 

참고가 ASP.Net을 허용 할 수있는 충분한 권한이 있어야합니다 파일을 저장하려는 위치를 서버에 폴더를 제대로 할 파일을 저장하는 프로세스. 가장을 사용하여 Windows 인증을 사용하는 경우 계정 코드가 실행되는 동안 요청이 들어오는 사용자의 계정이되므로 더 까다로워집니다.

+0

asp.net, C# 및 pdf에 대해 배우고 탐구하려는 학생 일뿐입니다. 그러나 그럼에도 불구하고, 나는 당신의 도움에 감사해야합니다. 내 바탕 화면 디렉터리 "C : \ Users \ apr12mpsip \ Desktop"을 추가했지만 "인식 할 수없는 이스케이프 시퀀스"와 같은 오류가 있습니다. 내 창 탐색기에서 직접 파일 디렉토리를 복사했습니다. –

+0

@TeoChuenWeiBryan - 검색 엔진을 사용하는 방법을 배우는 것이 중요합니다. http://www.bing.com/search?q=c%23+Unrecognized+escape+sequence ('string'과 같은 기본적인 C# 유형 문자열 리터럴을 나타낼 수 있음). –

+0

네 말이 맞아. 감사. –

0

"는 바탕 화면에 저장"이

public string CommonFileSave(HttpPostedFileBase postedFile, string filePath)  
    { 
     string resultResponse = "sccuess"; 

     if (!Directory.Exists(filePath)) 
     { 
      Directory.CreateDirectory(filePath); 
      postedFile.SaveAs(filePath + postedFile.FileName); 
     } 
     else 
     { 
      filePath = filePath + postedFile.FileName; 
      if (!System.IO.File.Exists(filePath)) 
      { 
       postedFile.SaveAs(filePath); 
      } 
     } 
     return resultResponse; 
    } 
관련 문제