Meteor如何将CollectionFS中图像文件夹的路径设置为项目

时间:2016-03-12 09:51:50

标签: image meteor collectionfs

我正在尝试将上传的图像保存到我的meteor项目的public / images文件夹中,所以我编写了这段代码。

Images = new FS.Collection("images", {
  stores: [new FS.Store.FileSystem("images", {path: "images"})]
});

但是当我上传图片时,文件会保存到

  

.meteor /本地/建造/方案/服务器/图像/

文件夹而不是public / images文件夹。

那么如何设置路径或将图像保存到public / images文件夹而不是.meteor文件夹呢?

我会解释为什么需要它。

我还有另外一个具有这种格式的建筑物。

Schemas.Buildings = new SimpleSchema({
  'name': {
    type: String,
    label: 'What is the name of the building?',
    max: 200,
    unique: true
  },
  'picture': {
    type: String,
    max: 200,
    optional: true,
    label: " ",
    autoform: {
      afFieldInput: {
        type: 'fileUpload',
        collection: 'Images',
        accept: 'image/*',
        label: 'Choose Aerial Image'
      }
    }
  }

因为我需要设置带有图片的样本建筑物,所以我需要将样本图像放到public / images /文件夹中,并使用它们在Meteor.startup bootstrap中设置样本建筑物的图片值。

如果我将这些图像放到.meteor文件夹中,它将被meteor reset命令删除,所以我希望将图像保存到公共文件夹。

请教我!

1 个答案:

答案 0 :(得分:1)

如果要保存到公用文件夹,可以使用以下路径:

"../../../../../public/"

我之所以没想到你会这样做的原因是每次上传内容时都会刷新你的应用。当您的路径设置为:

"../web.browser/images/"

您的图像可以像在公共文件夹中一样访问,但如前所述,这会在服务器重新启动时删除它们。

如果您希望在服务器重启/重置之后可以访问您的图像,并希望防止它们在保存时刷新您的应用程序,则应将它们存储在项目文件夹之外。例如,你可以创建一个地图' myImages'与您的Meteor项目处于同一级别。保存位置应为:

"../../../../../../myImages/"

部署应用程序时,应用不同的文件夹结构,当您在Meteor项目文件夹级别添加类似的图像文件夹时,保存位置应为:

"../../../../myImages/"

在这种情况下,你可能还需要设置一些权限,在此之前,但这可能对这篇文章来说太复杂了。

相关问题