【问题标题】:In which directory should I save uploaded files for MERN Stack?我应该在哪个目录中保存 MERN Stack 的上传文件?
【发布时间】:2018-10-08 12:10:36
【问题描述】:

我正在使用 Mern 堆栈,但在保存上传文件的位置时遇到了问题。让我解释一下。

我有一个表单,它通过包含.jpg 图像的表单数据发送。 在 Node/express 方面,我收到了它。但现在我被困住了。

我正在使用 express-fileupload 包,它附加了一个 mv 函数,允许我将文件存储在目录中。

在我的端点中,我有这个 sn-p:

const img1= req.files.image1;
const img1Name = img1.name;
img1.mv("NOT-SURE-WHERE-TO-MAKE-MY-DIRECTORY"+img1Name, (err) => {
    if (err) {
        return res.status(500).json({message: 'Could Not mv file'});
    } else {
        return res.status(200).json({message: 'mv done'});
    }
})

在哪里创建存储 .jpg 图像的目录?

  • 我是否在客户端的 src 中创建它?还是客户的公众?

  • 或者,我是否运行npm-run-build 命令来创建我的build 文件夹,然后将我的mv 函数指向其中保存文件?

【问题讨论】:

  • 视情况而定,您是否希望用户可以访问它?
  • 表单的目的是允许用户创建一个类似“博客”的帖子,他们可以在其中添加图片。当我渲染帖子时,我希望图片也显示在帖子上。我想用户可以访问它是可以的
  • 这不仅没问题,在这种情况下还必须是可访问的。将其与其他静态内容(如脚本和 CSS)一起放在 public 文件夹中
  • 好的,所以我的图像文件夹结构将是:myProject/client/public/images。快速愚蠢的问题,因为我没有建立联系。所以当我最终运行我的构建脚本并将我的代码投入生产时,我的“mv”如何知道在哪里找到正确的文件,因为我的构建文件夹将是我的页面所基于的?

标签: javascript node.js directory mern


【解决方案1】:

在node app.js文件中创建一个静态文件中间件到public目录然后@public/images

如果不尝试使用 multer,上传文件会容易得多

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2021-08-26
    • 2018-03-22
    • 2020-02-20
    相关资源
    最近更新 更多