2016-06-06 40 views
1

好傢伙是新來Sails.js,在這裏我有以下結構創建的文件如何刪除Sails.js中的文件?

--.tmp 
    /--public 
     /--dir1 
     /--dir2 
      /--avatar.jpg 
      /--banner.jpg 

我要爲

案例的解決方案:1 - 僅刪除avatar.jpg

案例:2 - 刪除所有現有圖像以及目錄「dir2」

我曾嘗試:

在控制器

var fs = require('fs'); fs.unlink(path_to_file) 但不幸的是不能讓的文件路徑正確。

請幫我解決上述兩個問題的任何可能的解決方案。

在此先感謝

回答

1

對於第二種情況:

deleteFolderRecursive = (path) -> 
    if fs.existsSync(path) 
    fs.readdirSync(path).forEach (file,index) -> 
     curPath = path + "/" + file 
     if fs.lstatSync(curPath).isDirectory() 
     deleteFolderRecursive curPath 
     else 
     fs.unlinkSync curPath 
    fs.rmdirSync path 

dir = './tmp/public/dir1/dir2' 
deleteFolderRecursive dir 

另外,您可以嘗試更改目錄:

let dir = __dirname + '/tmp/public/dir1/dir2'; 

或者你也可以嘗試/tmp之前添加幾/..直到你代碼正常工作並刪除文件。

+0

感謝您的答案@Daniel,我會嘗試您的代碼,但我非常需要第一個案例的答案。如果你知道一些東西,請提出 –

+0

因此,請嘗試更改變量'path_to_file'的值以更正路徑 - 例如,您可以嘗試:'fs.unlink(__ dirname +'/.tmp/public/dir1/dir2')',或者您可以也可以在'/ .tmp'前添加'/ ..',直到代碼正常工作並正確刪除文件。 –