【问题标题】:fs.writeFile while clients try to get the filefs.writeFile 客户端尝试获取文件时
【发布时间】:2019-08-15 21:07:02
【问题描述】:

我正在对 .png 进行图像修改,然后将其写入我的服务器上

fs.writeFile

问题是,如果某些客户端在我编写它时尝试从我的服务器 http 获取 .png,它将失败。

我怎样才能防止这种情况发生?

【问题讨论】:

    标签: node.js fs


    【解决方案1】:

    以不同的名称保存修改后的文件,然后将其重命名为原始名称。重命名操作是原子操作,因此会立即完成。 步骤:

    1. 修改original.png并写入original.png.mod
    2. original.png 中重命名original.png.mod

    【讨论】:

    • 哦,太好了,我以为fs.rename 会有同样的问题
    • 没有。它是在系统级别完成的。将文件路径视为指向硬盘驱动器上某个位置的指针。重命名时,您无需移动数据,只需更改指针即可。
    【解决方案2】:

    假设您目前正在写信给example.png

    写入另一个文件,然后将其移动以替换 example.png

    这消除了打开文件进行写入和完成写入之间的延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 2016-04-29
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多