коллекция cfs, показывающая ошибку в response.component - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть коллекция cfs для загрузки файлов.Я уже использовал это в шаблоне, и он работает хорошо.Теперь я должен использовать этот response.component, но он показывает эту ошибку Uncaught ReferenceError: fsFile is not defined.Я добавил FS.Collection, но он все еще показывает ошибку.Это работает, когда я использую шаблон, но не работаю в компоненте реакции.Как я могу решить это?

import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';

import React from 'react';
import Switch from 'react-switch';
import {Events} from './../../api/events';
import DatePicker from "react-datepicker";
import moment from "moment";
import "react-datepicker/dist/react-datepicker.css";

export default class AddEvent extends React.Component{
    EventForm(e){
        e.preventDefault();
        let eventTitle = e.target.title.value;
        let file = $('#projectImage').get(0).files[0];


         if(file){
            fsFile = new FS.File(file);
            ProjectImages.insert(fsFile, function(err, result){
                if(!err){
                    var projectImage = '/cfs/files/ProjectImages/' + result._id;

                    // Insert Project
                    Events.insert({
                        name: eventTitle,
                        projectImage: projectImage
                    });
                }
            });
        } else {
            // Insert Project
            Events.insert({
                name: eventTitle
            });
        }

    }

    render(){
        return(
            <div className="tab-pane fade" id="upEvents">
                <form className="upload-event-from" onSubmit={this.EventForm.bind(this)}>
                    <div className="form-group">
                        <input type="text" className="form-control" id="event_title" placeholder="Event Title" name="title" />
                        <span className="error-message eventTitle"></span>
                    </div>
                    <div className="form-group fg-icon">
                        <label>Upload Image</label>
                        <input type="file" className="form-control" name="projectImage" id="projectImage" />
                        <img id="blah" src="#" alt="your image"  />
                    </div>

                    <center>
                        <button type="submit" className="btn app-btn">Publish</button>
                    </center>
                </form>
            </div>
        );
    }
}

1 Ответ

0 голосов
/ 23 ноября 2018

Проблема в этой строке fsFile = new FS.File(file);, вы не объявили let, но ниже этой строки вы снова ее назвали, я надеюсь, что проблема возникла оттуда, используйте как ниже

let fsFile = new FS.File(file);
ProjectImages.insert(fsFile, function(err, result){
    ....
...