在 twilio 函数中从资产读取 csv 文件时出现问题
Getting issue in reading csv file from asset in twilio function
var fs = require('fs');
let fileName = 'file.csv';
let file = Runtime.getAssets()[fileName].path;
let text = fs.readFileSync(file);
console.log('Your file contents: ' + text);
{
"message": "Cannot read property 'path' of undefined",
"name": "TypeError",
"stack": "TypeError: Cannot read property 'path' of undefined\n at Object.exports.handler (/var/task/handlers/ZFbf83ef45896ffe95e21dd028385c58ec.js:12:49)\n at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:310:10)\n at Runtime.exports.handler (/var/task/enigma.js:17:9)\n at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
}
我已将文件添加到资产并尝试从资产中获取该 csv 到 twilio 函数中
我测试了你的代码,它对我有用。
您是否将 file.csv 上传为 private asset?
即将查看file.csv
是public资产文件。
Runtime.getAssets()
只能获取私有资产文件的信息。
因此,如果 file.csv
是 public 资产文件,Runtime.getAssets()[fileName]
return 没有资产对象,您无法从结果中获得 path
值。
我有一个愚蠢的问题,当我在代码中引用它时没有在我的文件名前面添加/,这也导致了未定义的问题。这是当您在资产或功能测试版中上传资产时 ui。
let fileName = '/filename.csv';
let assetFile = Runtime.getAssets()[fileName].path;
const assetContent = fs.readFileSync(assetFile).toString('utf-8');
var fs = require('fs');
let fileName = 'file.csv';
let file = Runtime.getAssets()[fileName].path;
let text = fs.readFileSync(file);
console.log('Your file contents: ' + text);
{
"message": "Cannot read property 'path' of undefined",
"name": "TypeError",
"stack": "TypeError: Cannot read property 'path' of undefined\n at Object.exports.handler (/var/task/handlers/ZFbf83ef45896ffe95e21dd028385c58ec.js:12:49)\n at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:310:10)\n at Runtime.exports.handler (/var/task/enigma.js:17:9)\n at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
}
我已将文件添加到资产并尝试从资产中获取该 csv 到 twilio 函数中
我测试了你的代码,它对我有用。
您是否将 file.csv 上传为 private asset?
即将查看file.csv
是public资产文件。
Runtime.getAssets()
只能获取私有资产文件的信息。
因此,如果 file.csv
是 public 资产文件,Runtime.getAssets()[fileName]
return 没有资产对象,您无法从结果中获得 path
值。
我有一个愚蠢的问题,当我在代码中引用它时没有在我的文件名前面添加/,这也导致了未定义的问题。这是当您在资产或功能测试版中上传资产时 ui。
let fileName = '/filename.csv';
let assetFile = Runtime.getAssets()[fileName].path;
const assetContent = fs.readFileSync(assetFile).toString('utf-8');