私は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は豊富ではありません。私は彼らがドキュメントで何を話しているのか理解できません。