【发布时间】:2019-08-15 00:32:09
【问题描述】:
function openFileDialog() {
dialog.showOpenDialog(win, {
properties: ['openFile']
} , filepath => {
if (filepath) {
fs.writeFile('path.txt', filepath, function (err, data) {
if (err) console.log(err);
});
scanFile(filepath)
}
})
}
function scanFile(filepath) {
if(!filepath || filepath[0] == 'undefined') return;
console.log(filepath)
fs.readFile(filepath,"utf8", (err,data) => { // ----> *ERROR*
if(err) console.log(err);
var arr = [];
if (data.substr(-4) === '.mp3' || data.substr(-4) === '.m4a'
|| data.substr(-5) === '.webm' || data.substr(-4) === '.wav'
|| data.substr(-4) === '.aac' || data.substr(-4) === '.ogg'
|| data.substr(-5) === '.opus') {
arr.push(files[i]);
}
var objToSend = {};
objToSend.files = arr;
objToSend.path = filepath;
win.webContents.send('selected-files', objToSend)
})
}
我尝试制作电子音乐播放器应用程序。第一步是打开我的文件。当我打开文件时,“TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串、缓冲区或 URL 类型之一。接收到的类型未定义“发生错误并且错误消息显示 scanFile(filepath)、fs.readFile(~ ~) 导致错误。我该如何解决?
【问题讨论】:
-
什么:
console.log(filepath)输出?因为错误很明确,所以您传递的不是字符串、缓冲区或 URL。 -
@MarcosCasagrande 啊这只是检查代码。我忘记抹掉了。谢谢 :)
标签: javascript node.js electron fs