为什么 Node fs.writeFile() 方法成功,但随后向浏览器发送了一个空文件?
Why is Node fs.writeFile() method successful, but an empty file is then sent to the browser?
即使服务器上的文件包含 'helloworld',以下回调函数也会向浏览器发送一个空文件:
router.get('/Download', function(req, res) {
var fs = require('fs')
fs.writeFile('helloworld.txt', 'helloworld');
res.download('helloworld.txt');
})
writeFile
是异步的。
要么将其用作:
fs.writeFile('helloworld.txt', 'helloworld', function () {
res.download('helloworld.txt');
});
或使用writeFileSync
https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback
尝试查看您的代码是否有
process.exit()
出于某种原因。如果这样做,请注释掉这个,您就可以开始了。我的版本是v8.6.0.
另请参阅:
即使服务器上的文件包含 'helloworld',以下回调函数也会向浏览器发送一个空文件:
router.get('/Download', function(req, res) {
var fs = require('fs')
fs.writeFile('helloworld.txt', 'helloworld');
res.download('helloworld.txt');
})
writeFile
是异步的。
要么将其用作:
fs.writeFile('helloworld.txt', 'helloworld', function () {
res.download('helloworld.txt');
});
或使用writeFileSync
https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback
尝试查看您的代码是否有
process.exit()
出于某种原因。如果这样做,请注释掉这个,您就可以开始了。我的版本是v8.6.0.
另请参阅: