2017-12-06 10 views
0

私はReact and Meteorを使用しています。ユーザーがプロフィール画像をアップロードできるようにする必要があります。Meteor +でファイルをアップロードしました。サイレントに失敗しました

アイブ氏は、これらのパッケージをインストール:

cfs:standard-packages 
cfs:filesystem 

アイブ氏はimages.jsに私のコレクションを定義した:

export const Images = new FS.Collection('images', { 
    stores: [new FS.Store.FileSystem('images', { path: '~/uploads' })], 
}); 

をこのファイルは、サーバーはJavaScriptにインポートされていません。

これは私のReactコンポーネント(下のコード)にインポートされます。私のconsole.logはファイルを記録し、エラーを表示しません。私はまた、流星の端末のエラーを見ていない。

import { Images } from '../../../api/images'; 

    const imgFormSubmit = e => { 
    e.preventDefault(); 

    const file = e.target.profile.files[0]; 
    console.log(file); 

    Images.insert(file, function(err, fileObj) { 
     //If !err, we have inserted new doc with ID fileObj._id, and 
     //kicked off the data upload using HTTP 
    }); 
    }; 

しかし、私がMongoDBを見ると、イメージと呼ばれるテーブルがないので、何も保存されていません。ファイルシステムにファイルやアップロードフォルダが追加されていません。

自動公開および安全でないパッケージが有効になっています。

答えて

0

管理コレクションを定義する場合は、で、クライアントとサーバーコードの両方をにする必要があります。 cfsは普通のコレクション定義の形を取っていないが、ボンネットの下でそれをやっているので少し分かりにくいかもしれない。

images.jsをサーバーのスタートアップコードにインポートする必要があります。

+0

このスレッドを見つける他の人のために、私はまだcfs:filesystemを見つけることができませんでした。実際に立ち上げるときにSlingshotパッケージを使用しようとしています(現時点では現地で開発しています)。 – Evans

+0

私はcfsをslingshotで置き換えました。 –

0

cfs:standard-packages、cfs:filesystemは代わりにMeteorFilesを使用してください。それに反応するための文書があるセクションがあります。

関連する問題