2016-11-10 7 views
0

私はここにあるプロジェクト:https://github.com/dartem/upload_filesを作成し、ファイルをアップロードしてFilesCollectionを使用して保存しました。しかし、実際のファイルは/ cdn/storageに一時的に保存されるように見え、Meteorを再起動するか、シークレットウィンドウを開くと実際のファイルが存在しないように見えます。Meteor/React.js:サーバに画像ファイルを保存

私は、assets/app/uploads/Imagesというパスディレクトリを指定しますが、イメージはそのディレクトリに保存されません。そのディレクトリに実際のファイルを保存するにはどうすればよいですか?

答えて

0

デモを実行して、そのディレクトリにファイルを保存します。

ファイルを.meteor/localに保存することはお勧めできません。基本的に一時ファイルがあるファイルは、アプリケーションを再構築するときに削除され、置き換えられます。これはなぜ後でそれらを再度見つけることができないのかを説明します。

ファイルをパブリックディレクトリに書き込むこともできますが、ファイルを保存するたびにアプリの再構築が行われますが、それは良い副作用ではありません。

ファイルをgridFSまたはAWS(またはその他のストレージオプション)に保存することをお勧めします。 は、ファイルシステムの他のどこかのフォルダに保存することができます(Apache、ExpressなどのWebサーバのようなもの)。あなたが持っているシステム管理者の能力に基づいて選択してください。

+0

あなたの答えをありがとう。私がそれらを私のpublic/images/uploadsファイルディレクトリに保存したいのであれば、それを達成する最良の方法は何でしょうか?私はNodeからFSを考えましたが、すぐに多くのエラーが発生しました。任意の提案/例?基本的には、ファイルをパブリックディレクトリにアップロード/移動して、そこにファイルが物理的に存在するようにすることです。 – Art

+0

サーバから、fsを使うことができますが、問題はありません。開発中、/ publicディレクトリに書き込むと、毎回再構築が強制されます。これは開発ワークフローには役立ちません。実際、再構築のランダムなタイミングはすぐに問題になります。私はあなたのプロジェクトの流星の外にフォルダを作成し、/ Users/mikkel/myproj/uploadsと言って、あなたのパブリックディレクトリからそれをシンボリックリンクすると、/ public/uploadsになるので、リビルドを行わないかもしれないと思います。おそらくあなたのアプリケーションのファイルを/ uploads /と参照することができます...再構築の恐れなしに、同様のことを本番で行うことができるかもしれません – Mikkel

+0

ありがとう、Mikkel。私はそれを動作させる方法はまだ分かりませんが、一般的な考え方を理解しています。 Codewiseでは、Meteor/Reactの組み合わせのコードサンプルはどこで検索できますか?私は既にMeteor FS-Nodeのようなパッケージを試しましたが、私のapp-demoのためにそれらを動作させる方法を理解できませんでした。彼らは皆、Npm.requireのようなものを言っていて、すぐにエラーが出ていました。 – Art