Node.js上传文件的位置

时间:2015-09-09 05:20:16

标签: node.js design-patterns file-upload

我是Node.js的新手。我正在尝试实现在线文件转换服务,但我很难知道应该在哪里存储转换后的文件。因为我不想要任何人,但用户可以访问该文件。是文件夹" public"存储文件的正确选择?感谢。

这是我的结构。

WebApp
├── bin
├── node_modules
│   ├── body-parser
│   ├── cookie-parser
│   ├── debug
│   ├── express
│   ├── jade
│   ├── morgan
│   ├── multer
│   ├── node-uuid
│   ├── remove
│   ├── serve-favicon
│   ├── sqlite3
│   └── stripe
├── public
│   ├── bower_components
│   ├── converted
│   ├── fonts
│   ├── images
│   ├── javascripts
│   ├── previews
│   ├── stylesheets
│   └── uploads
├── routes
├── ssl
└── views
    └── partials

2 个答案:

答案 0 :(得分:0)

从这样的public文件夹提供私人文件(看起来你的public文件夹是静态文件的提供地点)并不是一个好主意 - 拥有该链接的任何人都可以下载它。

您应该创建一个自定义下载路由处理程序,它负责验证它确实是尝试下载特定文件的所有者。

答案 1 :(得分:0)

假设这是标准生成的Express应用程序。

绝对不要存储在公共目录中,任何人都可以打开它。

你已经仔细考虑了包裹,所以我假设你已经拥有了文件上传模块。现在只需使用某种中间件身份验证包,如PassportJs,并使用它在路由文件或控制器文件中进行身份验证。