无法从Linux中读取tmp目录中的文件

时间:2017-04-23 15:42:40

标签: json node.js linux promise

我正在编写一个电子应用程序,它在tmp目录中的用户系统中创建一个带有扩展名(.tms)的文件,后面读取tmp dir并获取所有带扩展名(.tms)的文件并选择一个文件并读取它是内容并使用JSON.parse()进一步解析内容。这些文件包含JSON字符串中的内容,因此我需要解析该字符串obj。但我的代码读取像{/tmp/12321212.tms}这样的目录,但无法读取该目录中的内容。这就是JSON.parse函数给出错误的原因。下面是一段代码。

function getScreenshotName (){
    return new Promise( (resolve,reject) =>{
        var files = readDir.readSync(os.tmpdir()+'/',["**.tms"])
        if (files.length > 0 ) {
            return resolve(files[0])
        }
        else{
            return reject(err)
        }
    })
}

function getScreenshotObj (pathToFirstFile) {
    return new Promise ((resolve,reject) =>{
        console.log("Path to temp dir : " + pathToFirstFile)
        fs.readFile(pathToFirstFile, 'utf8',function(err,fileContents){
            if (err) {
                return reject(err)
            }
            else{
                console.log("File contents : ")
                console.log(fileContents)
                screenshotObject = JSON.parse(fileContents)
                obj = {pathToFirstFile : pathToFirstFile , screenshotObject:screenshotObject ,accesstoken : accesstoken}
                return resolve(obj)
            }
        })
    })
}

错误在于JSON.Parse函数,因为它无法读取内容。

0 个答案:

没有答案