Node.js 上传文件的位置
Node.js location of uploaded file
我是 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
从这样的 public
文件夹提供私人文件(看起来您的 public
文件夹是提供静态文件的地方)不是一个好主意 - 任何拥有 link可以下载。
您应该改为创建一个自定义下载路由处理程序,它负责验证是否确实是尝试下载特定文件的所有者。
假设这是一个标准生成的 Express 应用程序。
绝对不要存放在public目录下,任何人都可以访问。
你的包里有 multer,所以我假设你已经有了文件上传模块。现在只需使用某种中间件身份验证包,如 PassportJs,并使用它在路由文件或控制器文件中进行身份验证。
我是 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
从这样的 public
文件夹提供私人文件(看起来您的 public
文件夹是提供静态文件的地方)不是一个好主意 - 任何拥有 link可以下载。
您应该改为创建一个自定义下载路由处理程序,它负责验证是否确实是尝试下载特定文件的所有者。
假设这是一个标准生成的 Express 应用程序。
绝对不要存放在public目录下,任何人都可以访问。
你的包里有 multer,所以我假设你已经有了文件上传模块。现在只需使用某种中间件身份验证包,如 PassportJs,并使用它在路由文件或控制器文件中进行身份验证。