如何使用node.js测试文件权限?

2024-01-23

如何检查正在运行的 Node.js 进程对给定文件的权限(读/写/执行)?

我希望fs.Stats object http://nodejs.org/docs/latest/api/fs.html#fs_class_fs_stats有一些有关权限的信息,但我没有看到任何信息。是否有一些内置函数可以让我进行此类检查?例如:

var filename = '/path/to/some/file';
if (fs.canRead(filename)) // OK...
if (fs.canWrite(filename)) // OK...
if (fs.canExecute(filename)) // OK...

当然,我不必尝试在每种模式下打开文件并将错误处理为否定肯定,对吧?必须有一个更简单的方法...


我迟到了,但是,我正在寻找与您相同的原因并了解到这一点。

fs.access https://nodejs.org/api/fs.html#fs_fs_access_path_mode_callback就是你需要的。它可以从节点 v0.11.15 开始使用。

function canWrite(path, callback) {
  fs.access(path, fs.W_OK, function(err) {
    callback(null, !err);
  });
}

canWrite('/some/file/or/folder', function(err, isWritable) {
  console.log(isWritable); // true or false
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用node.js测试文件权限? 的相关文章

随机推荐

  • onpreviewframe byte[] 到 int[]

    在预览帧中 我得到 ImageFormat RGB 565 中的字节 现在我想将此 byte 转换为 int 以便我可以进行一些像素操作 我怎么能这么做呢 附 到目前为止 我是这样做的 但似乎还没有优化 public void onPrev
  • 获取日期格式/文化

    如何指定输入字符串的哪一部分是日期和月份 如果输入是01 10 2017 这可以读作2017 年 10 月 1 日 and 2017 年 1 月 10 日 两者都是正确的 我想明确表示01是日期并且10是月份 这样无论区域设置和时间格式如何
  • ngForIn 可以在 Angular 4 中使用吗?

    我正在尝试使用迭代对象的属性 ngFor但使用in 当我尝试这样做时 Controller selector sample controller template ul li b i b obj i li ul class SampleCo
  • HTML/CSS:如何为 tr 创建滚动条

    有人可以告诉我如何为内表创建滚动条吗 内表不显示在容器内 我将容器的背景涂成黄色 桌子本身是蓝色的 我想在表格内看到一个滚动条 Source http nopaste info e51385254e html http nopaste in
  • java中如何实现国际化

    我有一堂课叫Info 我有一堆static String其中描述的变量 public class Info public static stringOne Hello public static stringTwo world 我希望访问这
  • 你明白这个僵局吗?

    我的 GUI 使用 wxPython 在里面AppLogic类我有一个工作线程 它在这个类的方法中运行 这是GUI class class GUI wx app None main window None app logic None de
  • SharpDX、DirectWrite 和 Windows 窗体

    可以使用 DirectWrite 将文本渲染到 WinForm 应用程序中的 PictureBox 中吗 我正在使用 SharpDX 并浏览了 DirectWrite 示例 试图构建最简单的工作案例 我创建了一个表单并只向其中添加了一个图片
  • 根据列值分割大型 csv 文本文件

    我的 CSV 文件有多列已排序 例如 我可能有这样的行 19980102 PLXS 10032 Q A 15 12500 15 00000 15 12500 2 19980105 PLXS 10032 Q A 14 93750 14 750
  • C++ 中单例的线程安全惰性构造

    有没有一种方法可以在 C 中实现单例对象 以线程安全的方式延迟构造 两个线程可能同时是单例的第一个用户 它仍然应该只构造一次 不依赖于预先构造的静态变量 因此在构造静态变量期间单例对象本身可以安全使用 我不太了解我的C 但是在执行任何代码之
  • 使用 maven-compiler-plugin 排除包适用于一个包,但不适用于另一个包

    我的项目具有以下包结构 src com my app school course Course java com my app school course free CourseFree java 我使用Maven来构建项目 在我的pom
  • 使用 Stateful Session Bean 来跟踪用户的会话

    这是我的第一个问题 我希望我做得对 我需要从事 Java EE 项目 因此 在开始之前 我尝试做一些简单的事情 看看是否能做到 我被困住了有状态会话 Bean 这是问题 我怎样才能使用SFSB跟踪用户的会话 我看到的所有例子最终都 放入 S
  • UIBezierPath:roundedRect:byRoundingCorners:cornerRadii:行为怪异

    我正在尝试将按钮的两个角变成圆形 如果我像这样选择 TopLeft 和 BottomLeft let bezierDisableAdsPath UIBezierPath roundedRect disableAdsButton bounds
  • Gitlab Pages:无法验证域所有权

    今天早上 我收到了针对托管在自定义域上的每个 Gitlab 页面的电子邮件 称域验证失败 没关系 因为我认为我一开始就没有验证过它们 Gitlab 很好地实现了这一点 当我转到每个存储库的 设置 gt 页面 gt Domain Detail
  • 一个 SVG 文件,里面有很多 SVG 渐变

    我正在制作一组使用动态渐变的按钮 我已经通过使用 Firefox 3 6 和 WebKit 专有的 CSS 扩展来处理它们 我所需要做的就是使用 background image url gradient svg 支持 Opera iOS
  • phpExcel:无法加载资源:net::ERR_CONNECTION_RESET

    我实际上使用 phpExcel 来获取一个 excel 文件 我用一个命令从用户那里恢复该文件
  • Shiny 未检测到shiny:inputchanged 事件

    如果应用程序能够检测到上次单击或更新的小部件的 ID 那么我为闪亮的应用程序设计所采用的方法将是最简单的 This https stackoverflow com q 72061061 7742981问题的出现解决了问题 然而 当我使用接受
  • 从 Rails3-jquery-autocomplete 自定义列表

    我有一个hotel模型及其属性是 id hotel name address searchable 当我设置可搜索时false对于特定酒店 当我在搜索字段中输入时 该酒店不应出现在下拉列表中 控制器是 class HotelsControl
  • 表情符号字符变灰(HTML / CSS)

    我当前的问题是我正在尝试将带有表情符号的按钮灰显 尽管如此 由于表情符号的性质 似乎无法使用 HTML CSS 属性更改颜色 I e
  • xib 文件的 iPhone 本地化

    我刚刚熟悉 xib 文件的本地化 想知道是否有一种方法可以通过直接引用 plist 来本地化 xib 中的字符串 欣赏一些想法 如果您不想直接本地化 xib 文件 则可以将它们包含的文本提取到 strings 文件中 并且在翻译 strin
  • 如何使用node.js测试文件权限?

    如何检查正在运行的 Node js 进程对给定文件的权限 读 写 执行 我希望fs Stats object http nodejs org docs latest api fs html fs class fs stats有一些有关权限的