如何删除 Nest JS 上的本地文件?

Posted

技术标签:

【中文标题】如何删除 Nest JS 上的本地文件?【英文标题】:How to delete local file on Nest JS? 【发布时间】:2021-11-05 15:58:06 【问题描述】:

我试过了

 import fs from 'fs';
 .
 .
 .

 @Delete(':fileName')
 async deletePicture(@Param('fileName') fileName: string) 
  await fs.unlink('../../uploads/$fileName', (err) => 
   if (err) 
    console.error(err);
    return err;
   
  );
 

但它不起作用。我已经在互联网上搜索过,但没有相关信息。

【问题讨论】:

“不起作用”怎么办?您是否遇到错误?文件没有删除吗?我们需要更多信息才能提供帮助。 btw fs.unlink 不返回 Promise 所以 await 那里没有意义。我建议你使用fsnodejs.org/api/fs.html#fs_fspromises_unlink_path的promise API 我得到的错误是Cannot read property 'unlink' of undefined。当我将导入从 import fs from 'fs'; 更改为 import * as fs from 'fs'; 时问题解决了 另外,因为我使用的是fs.unlink,所以需要异步。对于同步功能使用fs.unlinkSync 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

我得到的错误是Cannot read property 'unlink' of undefined。当我将导入从 import fs from 'fs'; 更改为 import * as fs from 'fs'; 时问题解决了

PD:确保您使用fs.unlink(path, callback) 内的存档的正确路径(机器路径)。

【讨论】:

以上是关于如何删除 Nest JS 上的本地文件?的主要内容,如果未能解决你的问题,请参考以下文章

「git」如何删除github上的文件但保留在本地

如何使用 node.js 删除 s3 上的文件夹?

如何删除GitHub或者GitLab 上的文件夹

svn如何在服务器端删除,本地没删,怎么解决?

Nest.js 在护照本地策略中获取请求标头

如何在 Nest.js 中提供静态 HTML 文件?