2016-06-01 7 views
1

클라이언트 측에서 pdf 파일을 만들고 싶습니다. 이후에 REST 호출을 통해 서버 측에 보내야합니다.Uncaught TypeError : fs.createWriteStream이 함수가 아닙니다.

파일 생성시 문제가 없습니다. 나는 pdfMake를 사용하여 파일을 생성하고 잘 작동한다.

파일을 백엔드에 보내려고하므로 파일 시스템에 파일을 저장해야합니다. 이를 위해 node.js를 사용합니다. 아래의 코드는 잘 작동합니다. 객체 fs의 함수를 사용하고자 할 때만 'Uncaught TypeError : fs.createWriteStream이 함수가 아닙니다.'오류가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

var docDefinition = localStorage.getItem('docDefinition'); 
var PdfPrinter = require('pdfmake'); 
var printer = new PdfPrinter(); 

var pdfDoc = printer.createPdfKitDocument(JSON.parse(docDefinition)); 

var fs = require('fs'); 
var stream = fs.createWriteStream('basics.pdf'); 
pdfDoc.pipe(stream); 
pdfDoc.end(); 
+1

_browser_에서'fs.createWriteStream'을 사용하고 있습니까? – robertklep

+1

@robertklep fs와 localStorage의 혼합에서 가정합니다. –

+0

브라우저에서 사용하고 있습니다. 프런트 엔드는 angularjs 및 jquery로 만들어집니다. Spring Rest webservice에서 데이터를 가져온다. – user3193324

답변

2

서버와 클라이언트를 혼동스럽게합니다. 브라우저에는 프로그래밍 방식 파일 시스템에 대한 액세스 권한이 없습니다. 기간. 파일 시스템 API는 웹 페이지에서 파일을 드래그 앤 드롭하는 것과 같은 사용자 상호 작용을 통해서만 실행됩니다. 클라이언트에 로컬로 파일을 쓸 수 없습니다.

+0

처음 사용했습니다. 나는 네가하는 말을 이해한다. – user3193324

+0

그게 전부 일 뿐이니까요. 그래서 "JavaScript에서 PHP 변수를 수정하거나 액세스하려면 어떻게해야합니까?"라는 변형 된 5 천만 개의 질문을 얻지는 않습니다. ... 너무 명확하게 당신은 혼자가 아닙니다. 서버와 클라이언트 코드는 AJAX 호출을 통해 HTTP를 통해서만 통신 할 수 있다는 것을 기억하십시오. JSON을 서버에 보내고 거기에 PDF를 작성한 다음 사용자가 달성하려는 경우 동적으로 추가 된 링크를 다운로드하십시오. –

+0

조언 해 주셔서 감사합니다. – user3193324

관련 문제