[英]How to delete a file in sailsjs?
我一直在从事一个需要定期更新关联和数据库的项目。 我坚持删除文件。 为此,我使用了fs 的fs.unlink ,但它引发了一些错误。
代码片段 -
fs.unlinkSync("/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png");
sails.log.info("Logo deleted succesfully");
错误日志——
fs.js:932
return binding.unlink(pathModule._makeLong(path));
Error: ENOENT: no such file or directory, unlink '/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png'
此外,文件 70c9c2c4-74de-41c1-b096-c403b749a1a9.png 存在于路径 /images/uploadedImages/ 中,该路径位于sailsjs 结构的资产文件夹内。
没有办法实现这一目标吗?
您传递给fs.unlinkSync()
似乎不存在,请确保您拥有此文件
/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png
那么它会起作用。
想通了这个问题。 Sailsjs 框架不会自行开始在资产文件夹内搜索路径。
将路径从 - /images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png
更改为./assets/images/uploadedImages/70c9c2c4-74de-41c1-b096-c403b749a1a9.png
问题
如果有人仍然找到答案,如果您想对文件进行一些操作,下面可能是一个很好的方法。
使用fs.access您可以在对文件进行任何操作之前检查文件是否可用。 也可以将fs.accessSync用于同步行为。
在下面的例子中,我使用了fs.unlink但也可以使用fs.unlinkSync来删除文件。
// import in file const fs = require('fs') // path of your file let path = 'path to your file' // fs.access will check if file is available or not fs.access(path, fs.F_OK, (err) => { if (err) { console.error(err) return } //file exists, Go for delete operation fs.unlink(path , function (err) { if (err) { console.error(err); return } console.log('Image File has been Deleted'); }); })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.