node.js - 使用 fs.writeFile 保存 exe 文件
问题描述
我正在尝试从 https 位置保存 exe 文件并将其保存以供本地使用。文件已保存,但尝试运行时出现此错误“错误:命令失败:C:\Users\xxxx\AppData\Roaming\testapp\Updates\update.exe 'C:\Users\xxxx\AppData\Roaming\testapp \Updates\update.exe' 不是内部或外部命令、可运行程序或批处理文件。” 当我从文件资源管理器运行 update.exe 时,我收到此错误“此应用程序无法在您的 PC 上运行。要查找适用于您的 PC 的版本,请咨询软件发行商”
const updaterUrl = 'https://xxx.xxx.com/updates/';
function downloadUpdate(filename) {
// filename is update.exe
https.get(updaterUrl + filename, (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
let dir = path.join(app.getPath('userData'), 'Updates')
let p = path.join(app.getPath('userData'), 'Updates', filename)
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, 484);
}
fs.writeFile(p, data, (err) => {
if (err) {
console.log('Error: ' + err.message)
} else {
runUpdate(p);
}
})
});
}).on("error", (err) => {
console.log("Update error: " + err.message);
});
}
function runUpdate(path) {
exec(path, (err, stdout, stderr) => {
if (err) {
console.log(err);
return;
}
});
}
我究竟做错了什么?
解决方案
推荐阅读
- java - android平台上是否有替换物理按钮按下的事件处理程序?
- c++ - Boost 程序选项似乎失败了
- python - Python JSON 通过列表解析并检查条件
- sql-server - SqlException:使用 .NET Core 2.1 的 SQL Server 的用户 'DOMAIN\MACHINENAME$' 登录失败
- flutter - Flutter Implementing pause and play..... Streaming Music
- c# - 如何创建 C# 8.0 控制台应用程序?
- c# - Form Recognizer SDK,使用自定义模型分析,文件流问题
- javascript - 剪辑路径的边缘/IE 问题
- javascript - 如何在 JavaScript If 语句中添加多个 CSS 属性?
- google-sheets - 使用条件格式突出显示一组数据是否匹配另一组数据