我是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
答案 0 :(得分:0)
从这样的public
文件夹提供私人文件(看起来你的public
文件夹是静态文件的提供地点)并不是一个好主意 - 拥有该链接的任何人都可以下载它。
您应该创建一个自定义下载路由处理程序,它负责验证它确实是尝试下载特定文件的所有者。
答案 1 :(得分:0)
假设这是标准生成的Express应用程序。
绝对不要存储在公共目录中,任何人都可以打开它。
你已经仔细考虑了包裹,所以我假设你已经拥有了文件上传模块。现在只需使用某种中间件身份验证包,如PassportJs,并使用它在路由文件或控制器文件中进行身份验证。