2016-12-12 4 views
0

私はMeteorとReact JSを使用しています。私は流星ファイルも追加しました。このコードを使用することによりメテオファイルでアップロードされたファイルはどこから入手できますか?

https://github.com/VeliovGroup/Meteor-Files

this.Images = new FilesCollection({collectionName: 'Images'}); 
export default class Logo extends TrackerReact(React.Component){ 
    constructor(){ 
    ... 
    Meteor.subscribe('files.images.all'); 
    } 
uploadLogo(e){ 
    if (e.currentTarget.files && e.currentTarget.files[0]) { 
     // We upload only one file, in case 
     // there was multiple files selected 
     var file = e.currentTarget.files[0]; 
     if (file) { 
     var uploadInstance = Images.insert({ 
      file: file, 
      streams: 'dynamic', 
      chunkSize: 'dynamic', 
      transport: 'http' 
     }, false); 

     uploadInstance.on('start', function() { 
      //template.currentUpload.set(this); 
     }); 

     uploadInstance.on('end', function(error, fileObj) { 
      if (error) { 
      alert('Error during upload: ' + error.reason); 
      } else { 
       console.log("done"); 
      alert('File "' + fileObj.name + '" successfully uploaded'); 
      } 
     }); 
     uploadInstance.start(); 
     } 

    }else{ 
     console.log("error"); 
    } 
} 
render(){ 
... 
<input type="file" id="fileinput" onChange={this.uploadLogo.bind(this)} /> 
} 

は、私はファイルをアップロードすることができていますが、私は私のディレクトリ内のすべてのファイルが表示されません。ここで は私publish.jsで、

this.Images = new Meteor.Files({ 
    debug: true, 
    collectionName: 'Images', 
    allowClientCode: false, // Disallow remove files from Client 
    onBeforeUpload: function (file) { 
    // Allow upload files under 10MB, and only in png/jpg/jpeg formats 
    if (file.size <= 1024*1024*10 && /png|jpg|jpeg/i.test(file.extension)) { 
     return true; 
    } else { 
     return 'Please upload image, with size equal or less than 10MB'; 
    } 
    } 
}); 
Meteor.publish('files.images.all', function() { 
    return Images.find().cursor; 
    }); 

はどうやって画像を表示することができますか?イメージのみのファイルをアップロードするようにユーザーを制限するにはどうすればよいですか?

私の場合、API Docsは豊富ではありません。私は彼らがドキュメントで何を話しているのか理解できません。

答えて

1

デフォルトでは、アップロードされたファイルはファイルシステムに保存されます。 FAQを読む:

ファイルはデフォルトでどこに保存されていますか?:config.storagePath がコンストラクタに渡されていない場合、デフォルトでは、それはだが、資産/アプリ/アップロードと実行中のスクリプトへ 相対的に等しい:

開発段階で
  • : yourDevAppDir/.meteor /ローカル/ビルド/プログラム/サーバー

注:すべてのファイル は、すぐにアプリケーションが再構築したり、流星 リセットを実行すると削除されます。開発中にストレージを永続的に保つには、 絶対パスをプロジェクトフォルダ外に使用してください。/dataディレクトリ。生産上

  • :yourProdAppDir /プログラム/サーバー

だから、config.storagePath

と場所を設定する必要があります
関連する問題