如何使用 Node 访问 Lambda 中的 /tmp 文件夹?

问题描述 投票:0回答:3

我试图将处理后的图像暂时保存在 /tmp 文件夹中,但它对我不起作用。假设它位于根文件夹下,我尝试以这种方式获取它:

let tempraryImageDirectory: string;
if (process.env.DEV && process.env.DEV === 'Yes') {
  tempraryImageDirectory = path.join(__dirname, `../../tmp/`);
} else {
  tempraryImageDirectory = path.join(__dirname, `./tmp/`);
}

这里的

else
选择是本地测试。我不想在根目录中创建 /tmp 文件夹。当地一切都很好。但目前在 Lambda 中,在目录 CloudWatch 上发生的任何操作都不会显示此后写入的任何日志,并且我的函数因未知原因而失败。 知道我是否正确寻址 /tmp 文件夹吗?

node.js typescript aws-lambda
3个回答
9
投票

目录只是

/tmp
,它与工作目录无关:

let tempraryImageDirectory: string;
if (process.env.DEV && process.env.DEV === 'Yes') {
  tempraryImageDirectory = path.join(__dirname, `../../tmp/`);
} else {
  tempraryImageDirectory = '/tmp/';
}

您可能还希望重命名变量,以将

o
包含在
temporary
中(如果您不是故意遗漏的话)。


5
投票

更改为:

./tmp/
,即“当前工作目录下的/tmp目录”

对此:

/tmp/
,即“根文件系统下的/tmp目录”


0
投票

但此解决方案是在用户的本地文件夹而不是服务器的文件夹中创建目录

let tempraryImageDirectory: string;
if (process.env.DEV && process.env.DEV === 'Yes') {
  tempraryImageDirectory = path.join(__dirname, `../../tmp/`);
} else {
  tempraryImageDirectory = '/tmp/';
}
© www.soinside.com 2019 - 2024. All rights reserved.