1

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

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

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

.meteor/local/build/programs/server/images/

文件夹而不是 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 文件夹中,它会被流星重置命令删除,所以我希望将图像保存到公共文件夹。

请教我!

4

1 回答 1

1

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

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

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

"../web.browser/images/"

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

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

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

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

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

在这种情况下,您可能还必须在此工作之前设置一些权限,但这对于这篇文章来说可能过于复杂。

于 2016-03-12T10:02:15.220 回答