2013-03-11 2 views
0

내 MVC 응용 프로그램에서 사용자가 편집기를 사용하여 새 PDF 파일을 만들 수 있도록하고 있습니다. 내가 어떻게 그렇게 할 수있는 폴더에 만든 파일을 저장하려면? 이 내보기 코드 :폴더에 파일 저장

<textarea class="ckeditor" id="message" ></textarea> 
<input class="green_button" id="btnCre" type="button" text="Save" value="Save" onclick="confirmsave();"/> 
function confirmsave() { 
    var box = dhtmlx.modalbox({ 
     title: "PDF File Details", 

     text: "<div id='form_in_box'><div><label> Enter The File Name <input id='fileName' class='inform' type='text'></label><br></div><div><span class='dhtmlx_button'><input type='button' value='save' onclick='create_PDF(this)' style='width:80px;'></span><span class='dhtmlx_button'><input type='button' value='Cancel' onclick='closeFile(this)' style='width:80px;'></span></label></div></div>", 
     width: "300px" 
    }); 
} 
function closeFile(box) { 

    dhtmlx.modalbox.hide(box); 


} 
function create_PDF(box) { 
     var fileName = $("#fileName").val(); 
    var content = CKEDITOR.instances["message"].getData(); 
    if (content == "") { 
     alert("Enter Content in The Editor"); 
     return false; 
    } 
    dhtmlx.modalbox.hide(box); 
    dhtmlx.message("Saving file..."); 
    $.post("/CreatePDF/CreatePDFile", 
    { 
     content: '' + content + '' 
    }, function (data) { 

      data = jQuery.trim(data); 
      alert("PDF File created succesfully"); 
      //$("#display_thumbs").html(data); 
      CKEDITOR.instances["editor1"].setData(""); 


     }); 
    } 

및 컨트롤러 코드는

public ActionResult CreatePDFile(FormCollection data) 
    { 
     var htmlContent = data["content"]; 
     var fileName = data["fileName"]; 

     return View(); 
    } 
+0

mvc-asp.net입니까? –

답변

0

eaiest 방법은 U가 제공하는 데이터에서 PDF를 만들 cqn하는 PHP는 PDF 작성기를 사용하는 것입니다. tcpdf를보고 작동하는지 확인하십시오.

+0

CKEDITOR를 사용하여 코드를 구체화했습니다. public ActionResult CreatePDFile (FormCollection 데이터) { var htmlContent = data [ "content"]; var filename = data [ "filename"]; 문자열 sFilePath = Server.MapPath (_fileUploadPath + 파일 이름 + ".pdf"); 돌아 가기 View(); } 하지만 이제 파일 이름에 오류가 발생합니다. 내가 디버그 할 때 파일 이름 값이 정의되지 않음을 나타냅니다 –

0

콘텐츠를 JSON 개체의 일부로 게시하는 대신 양식의 일부로 게시하는 것이 더 쉽습니다. 수행해야 할 작업에 대한 자세한 내용은 this article을 참조하십시오.

+0

이 코드 부분에서는 사용자가 자신의 PDF 파일을 만들 수있는 CKEDITOR 사용자를 사용하여 파일을 실제로 업로드 할 수 없습니다. 다음과 같이 솔루션의 절반을 얻었습니다. public ActionResult CreatePDFile (FormCollection 데이터) { var htmlContent = data [ "content"]; var filename = data [ "filename"]; 문자열 sFilePath = Server.MapPath (_fileUploadPath + 파일 이름 + ".pdf"); 돌아 가기 View(); } 하지만 이제 파일 이름에 오류가 발생합니다. 내가 디버그 할 때 파일 이름 값이 정의되지 않음을 나타냅니다. –

+0

위의 문제에 대한 대답이 있습니다. public ActionResult CreatePDFile (FormCollection 데이터) { var htmlContent = data [ "content"]; var filename = data [ "filename"]; 문자열 sFilePath = Server.MapPath ("~/pdf /"+ 파일 이름 + ".html"); if (! System.IO.File.Exists (sFilePath)) { FileStream fs = System.IO.File.Create (sFilePath); 돌아 가기 View(); } 이제 파일이 저장되고 있지만 데이터를 입력해도 해당 파일을 열 수 없다하더라도 파일 크기가 0kb로 표시되는 문제가 있습니다. –

+0

파일을 만드는 것만 같습니다. 실제로 StreamWriter를 사용하여 콘텐츠의 이진 데이터를 만든 후에 파일에 실제로 쓸 필요가 있습니다. –

관련 문제