2017-11-10 24 views
0

프론트 엔드에 vCard를 만들고 ReactJs 프로젝트에서 버튼을 클릭하여 다운로드 할 수있게하려고합니다. 나는 원하는 vCard (v3.0)의 내용을 가진 문자열을 만드는 vcards-js이라는 NodeJS 모듈을 사용한다. 내가 고민하고있는 것은 (.vcf 파일처럼) 다운로드 가능하게하는 것이다. 나는 모듈 react-file-downloadfile-saver으로 이것을 달성하려고 노력했지만, 그 중 아무 것도 올바르게 작동하지는 않습니다. 마지막으로 데스크톱에서 제대로 작동했지만 모바일 브라우저에서 다운로드를 제공하지 못했습니다. Chrome 모바일은 새로운 탭을 열었고 영원히로드되었습니다. Safari 모바일은 새 탭에서 문자열을 방금 열었지만 .vcf 파일로 다운로드하지 않았습니다.NodeJS/ReactJS : 모바일 브라우저 용 문자열로 다운로드 가능한 파일 만들기

단서 또는 경험이 있습니까? vCard 서버 쪽을 만들고 다운로드 링크를 제공해야합니까? 나 한테 너무 평탄한 것 같아. 도움이된다면

이 내 file-saver 방법입니다 : 내가 vcardjs에 문서를 통해 찾고 있어요

var FileSaver = require('file-saver'); 
    var blob = new Blob([card.getFormattedString()], {type: "text/x-vCard;charset=iso-8859-1"}); 
    FileSaver.saveAs(blob, 'card.vcf'); 

답변

0

https://github.com/enesser/vCards-js

당신이를 처리하는 노드에서 백엔드에 경로를 가져야 프로세스

꽤 직관적입니다. // 파일에 저장 vCard.saveToFile ('./ eric-nesser.vcf');

+0

내가 아는 바로는, saveToFile 함수는 파일을 로컬 파일 시스템에 저장합니다. 이것은 내가 성취하고자하는 것이 아닙니다. 이 파일을 캐시/RAM 또는 기타로 만들고 사용자가 선택하여 다운로드 할 수있게하려고합니다. 또한 파일 시스템에 직접 쓰는 것은 보안 문제로 인해 클라이언트 측에서 작동해서는 안됩니다. 그럼에도 불구하고이 접근법을 시도하면 오류를 발생 시키며,'fs' 모듈은 설치되지 않습니다 ('fs.writeFileSync는 함수가 아닙니다'). – Mika

+0

oh 나는 볼 수있다 :) clartifying 주셔서 감사합니다. 이걸보고 내가 당신을 도울 수 있는지 보게되어 기쁩니다! ~ : D –

+0

vcards-js를 사용하여 vcard 데이터를 genereate 할 수있는 경로를 생각해 봤습니다. 그리고 그것을 다시 브라우저에 전달하면 얻을 수 있습니다. 다음과 같이하십시오. –