2015-09-09 59 views
0

我是Node.js的新手。我試圖實現一個在線文件轉換服務,但我不知道應該在哪裏存儲轉換後的文件。因爲我不想要任何人,但用戶可以訪問該文件。文件夾「public」是存儲文件的正確選擇嗎?謝謝。Node.js上傳文件的位置

這是我的結構。

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

@GökayGürcan,我添加了我的文件夾結構。 – tonylin

回答

0

從這樣public文件夾服務的私人文件(它看起來像你的public文件夾是一個地方的靜態文件是從服務的)是不是好主意 - 任何人誰的鏈接可以下載它。

您應該創建一個自定義的下載路由處理程序,它負責驗證它確實是嘗試下載特定文件的所有者。

0

假設這是標準生成的Express應用程序。

絕對不要存儲在公共目錄中,任何人都可以訪問它。

你在你的軟件包中包含了multer,所以我假設你已經有了你的文件上傳模塊。現在只需使用某種中間件身份驗證軟件包(如PassportJs),並使用它在路由文件或控制器文件中進行身份驗證。