Javascript Meteor中输入类型文件的默认值

Javascript Meteor中输入类型文件的默认值,javascript,meteor,Javascript,Meteor,我有一个输入类型的文件上传图像。我还想为它设置一个默认图像,这样,如果用户不上传任何文件,文件就会被保存/使用。如何做到这一点 Template.modelMeta.events({ 'submit #uploader-form': function(e, t) { file = $('#desc-model-thumb') // id for input type = file var fsFile = new FS.File(e.target[2].f

我有一个输入类型的文件上传图像。我还想为它设置一个默认图像,这样,如果用户不上传任何文件,文件就会被保存/使用。如何做到这一点

Template.modelMeta.events({
    'submit #uploader-form': function(e, t)
    {



    file = $('#desc-model-thumb') // id for input type = file

    var fsFile = new FS.File(e.target[2].files[0]);


    ThumbFiles.insert(fsFile,function(err,thumbFile) {
        if (err) {
        sAlert.error("No image or invalid image format selected", {effect: 'flip', onRouteClose: false, stack: false, timeout: 8000, position: 'top'});
        } else {
        sAlert.success("Image has been Uploaded", {effect: 'flip', onRouteClose: false, stack: false, timeout: 4000, position: 'top'});     
        ModelFiles.update(modelId, {$set: {name: filename, about: description, thumbnail:thumbFile._id}}, function(error, res) {
            if (error) {
            sAlert.error(error.reason);
            } else {
            sAlert.success("Data about model has been saved", {effect: 'flip', onRouteClose: false, stack: false, timeout: 4000, position: 'top'});
            }
        });

        }
    }); 
    } 
});
这是一个模板

    <label for="filename" class ="input-head"> Model-Image </label>
    <p class ="help-text"> An image that will be used as a thumbnail for your model, the preferred size is 500 X 300 </p>   
    <input class="form-control model-thumb" id="desc-model-thumb" name="modelThumb" type="file">

如果用户没有定义默认文件,我只会链接一个默认文件:

defaultSAlert = {
  effect: 'flip',
  onRouteClose: false,
  stack: false,
  timeout: 8000,
  position: 'top'
}

function insertImage (fsFile, modelId, description) {
  ThumbFiles.insert(fsFile,function(err,thumbFile) {
    if (err) {
      return sAlert.error("No image or invalid image format selected", defaultSAlert);
    }
    sAlert.success("Image has been Uploaded", defaultSAlert);
    updateModelFiles({
      _id: modelId,
      thumbnail: thumbFile._id,
      name: thumbFile.original.name,
      description: description
    })
  });
}

function updateModelFiles (model) {
  ModelFiles.update(modelId,
    {
      $set: {
        name: filename,
        about: description,
        thumbnail: fileId
      }
    }, function(error, res) {
      if (error) {
        return sAlert.error(error.reason);
      }
      sAlert.success("Data about model has been saved", defaultSAlert);
    }
  );
}

Template.modelMeta.events({
  'submit #uploader-form': function(e, t) {
    file = $('#desc-model-thumb') // id for input type = file
    if(file.files.length) {
      insertImage(
        new FS.File(file.files[0]),
        undefined,
        undefined
      )
    } else {
      var defaultModel = ModelFiles.findOne({ $eq:{name: 'defualt.png'} })
      defaultModel._id = undefined
      updateModelFiles(defaultModel)
    }
  }
});

请注意,在调用
insertImage
函数时,我使用了
undefined
两次。那是因为我不知道
description
一个
modelId
应该是什么。此外,我会尝试适当地缩进你的东西。它几乎不可读的方式,你张贴你的代码。并使用2个空格进行缩进。这是惯例。

你能给这个问题再补充一点细节吗?你怎么知道用户是否已经上传了一张图片(是存储在她的个人资料中的链接)?我已经更新了我的帖子。请找人帮忙。好的,下次我会照顾好的,非常感谢。但是这样做之后,页面被引用,没有默认设置,甚至没有图像被上传。对不起,仍然有一些我以前没有发现的错误。我修好了。您是否替换了代码中未定义的s?是的,我替换了它们:(您可以看到我的编辑。和它的差异
defaultSAlert = {
  effect: 'flip',
  onRouteClose: false,
  stack: false,
  timeout: 8000,
  position: 'top'
}

function insertImage (fsFile, modelId, description) {
  ThumbFiles.insert(fsFile,function(err,thumbFile) {
    if (err) {
      return sAlert.error("No image or invalid image format selected", defaultSAlert);
    }
    sAlert.success("Image has been Uploaded", defaultSAlert);
    updateModelFiles({
      _id: modelId,
      thumbnail: thumbFile._id,
      name: thumbFile.original.name,
      description: description
    })
  });
}

function updateModelFiles (model) {
  ModelFiles.update(modelId,
    {
      $set: {
        name: filename,
        about: description,
        thumbnail: fileId
      }
    }, function(error, res) {
      if (error) {
        return sAlert.error(error.reason);
      }
      sAlert.success("Data about model has been saved", defaultSAlert);
    }
  );
}

Template.modelMeta.events({
  'submit #uploader-form': function(e, t) {
    file = $('#desc-model-thumb') // id for input type = file
    if(file.files.length) {
      insertImage(
        new FS.File(file.files[0]),
        undefined,
        undefined
      )
    } else {
      var defaultModel = ModelFiles.findOne({ $eq:{name: 'defualt.png'} })
      defaultModel._id = undefined
      updateModelFiles(defaultModel)
    }
  }
});