2014-12-10 2 views
3

사용자가 이미지, PDF, 워드 문서, 오디오 파일 등과 같은 파일을 업로드 할 수있게하고 싶습니다. 모든 파일을 서버에 로컬로 저장해야하는지 아니면 외부 파일 호스팅 웹 사이트를 사용해야하는지 알고 싶습니다. API를 사용하여 파일에 액세스하십시오.유성에서 파일 업로드를 어떻게 처리해야합니까?

로컬로 저장해야한다면 MeteorJS에서 어떻게해야합니까? 어떤 패키지 또는 방법을 권장합니까?

답변

5

Amazon (S3 또는 Cloud Front)과 같은 타사 서비스를 사용하면 응용 프로그램의 부하가 줄어들 기 때문에 가장 좋습니다. 이와 같은 패키지는이 과정에서 매우 도움이 될 것입니다 : https://atmospherejs.com/edgee/slingshot.

7

서버에 파일을 로컬에 저장하는 것이 가능합니다. 특수 폴더에 파일을 저장하고 Apache 또는 Nginx를 사용하여 콘텐츠를 제공해야합니다. 그러나 나는 당신을 낭비하기 때문에 좋은 생각이라고 생각하지 않습니다. 응용 프로그램 서버 자원은 외부 저장소 서비스 (Google Cloud Storage, Amazon S3 등)를 통해 훨씬 잘 수행됩니다.

MongoDB에 파일을 저장할 수도 있지만 쉽게 캐싱 할 수없고 비효율적이며 조정할 수 없으므로 파일이 더 나빠집니다.

가장 우아한 방법은 Meteor 애플리케이션 서버를 통과하지 않고도 파일을 최종 사용자 클라이언트에서 외부 스토리지 서비스 서버로 직접 업로드하는 것입니다. 클라이언트는 저장된 파일 URL을 Meteor 서버로 보내 MongoDB에 저장합니다. 외부 저장소 서비스는 월간 GB의 저렴한 가격을 제공하고 여러 서버에서 높은 무 간섭성, 복제 기능을 제공하는 이점이 있습니다.

이 워크 플로를 구현하는 Meteor 패키지가 있으며 개인적으로 테스트하지 않았습니다 그러나 나는 이것이 믿을만한 재료라는 것을 확신하며 그것을 시도해 볼 것입니다.

https://github.com/CulturalMe/meteor-slingshot

구성은 바로 처음으로 그것을 얻기 위해 조금 어려울 수도 있지만, 이것은 확실히 갈 방법입니다.

관련 문제