Как Вы заставляете имя файла tempfile использовать в Linux?

Хотелось бы запустить его в браузере, чтобы я мог принимать данные, полученные от отображения сервера в браузере.

Мне кажется, вам нужен модуль http.

var http=require('http');
var server=http.Server(function(req,res) {
    res.end('<p>hello world</p><script>alert("hello world")</script>');
});

server.listen(8080);

, чтобы вы могли получать данные со стороны браузера, набрав URL-адрес «localhost: 8080»

9
задан 17 of 26 8 April 2009 в 19:30
поделиться

5 ответов

Можно использовать mkstemp(3) функция с этой целью. Другая альтернатива tmpfile(3) функция. Какой из них, которых Вы выбираете, зависит от того, хотите ли Вы, чтобы файл был открыт как поток файла библиотеки C (который tmpfile делает), или дескриптор файла прямого доступа (mkstemp). tmpfile функция также удаляет файл автоматически при программировании концов.

Преимущество использования этих функций состоит в том, что они избегают условий состязания между определением уникального имени файла и созданием файла - так, чтобы две программы не пытались создать тот же файл одновременно, например.

См. страницы справочника для обеих функций для получения дополнительной информации.

20
ответ дан 4 December 2019 в 07:15
поделиться

Вопрос состоит в том, как генерировать временное имя файла. Ни mkstemp, ни tmpfile не предоставляют вызывающей стороне имя, они возвращают дескриптор файла или дескриптор файла, соответственно.

5
ответ дан 4 December 2019 в 07:15
поделиться

@garethm:

Я полагаю, что функция, которую Вы ищете, вызвана tmpnam.

Вы не должны определенно использовать tmpnam. Это страдает от проблемы состояния состязания, которую я упомянул в своем ответе: Между определением имени и открытием его, другая программа может создать файл или символьную ссылку на него, которая является огромной дырой в системе безопасности.

tmpnam в странице справочника конкретно говорится, чтобы не использовать его, но использовать mkstemp или tmpfile вместо этого.

3
ответ дан 4 December 2019 в 07:15
поделиться

Абсолютно: человек mkstemp.

Страница справочника имеет использование в качестве примера.

2
ответ дан 4 December 2019 в 07:15
поделиться

Не уверенный в чем-либо в lib C, но можно сделать это в оболочке с mktemp.

1
ответ дан 4 December 2019 в 07:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: