fs.writeFile, пока клиенты пытаются получить файл - PullRequest
0 голосов
/ 25 марта 2019

Я делаю изменения изображения в .png, а затем записываю его на свой сервер с помощью

fs.writeFile

Проблема в том, что некоторые клиенты пытаются http получить файл .png с моего сервера, пока я пишуэто, это потерпит неудачу.

Как я могу предотвратить это?

Ответы [ 2 ]

3 голосов
/ 25 марта 2019

Сохраните измененные файлы под другим именем, затем переименуйте его в исходное имя. Операция переименования является атомарной, поэтому она будет выполнена мгновенно. Шаги:

  1. Сделайте модификацию original.png и запишите их в original.png.mod
  2. Переименовать original.png.mod в original.png
1 голос
/ 25 марта 2019

Скажем, вы сейчас записываете на example.png.

Записываете в другой файл, а затем перемещаете его, чтобы заменить example.png.

Это устраняет разрыв между открытием файла для записи и завершением записи в него.

...