【发布时间】:2019-10-09 02:25:30
【问题描述】:
我在这篇文章Cloud Functions for Firebase - Converting PDF to image的指导下设置了一个云功能
运行该函数时,它运行时没有错误,但没有创建图像。
const tempDir = os.tmpdir()
await new Promise(function (resolve, reject) {
gs()
.batch()
.nopause()
.executablePath('lambda-ghostscript/bin/./gs')
.option('-dTextAlphaBits=4')
.res(300)
.device('jpg')
.output(`${tempDir}/page-01.jpg`)
.input(filepath)
.exec(function (err, stdout, stderr) {
if (!err) {
console.log('gs executed w/o error');
console.log('stdout',stdout);
console.log('stderr',stderr);
resolve();
} else {
console.log('gs error:', err);
reject(err);
}
});
});
fs.lstat(tempDir+'/page-01.jpg', (err, stats) => {
if(err)
return console.log(err); //Handle error
console.log(`Is file: ${stats.isFile()}`);
});
这是检查新文件是否已创建时的输出:
gs command: -dBATCH,-dNOPAUSE,-dTextAlphaBits=4,-r300,-sDEVICE=jpg,-sOutputFile=/var/folders/dd/zdnq1dcn2vb328ntxxt7_97c0000gn/T/page-01.jpg,/var/folders/dd/zdnq1dcn2vb328ntxxt7_97c0000gn/T/m5YF7ipQsLCuTE9c0pWC_raw.pdf
info: gs executed w/o error
info: stdout
stderr undefined
info: { Error: ENOENT: no such file or directory, lstat '/var/folders/dd/zdnq1dcn2vb328ntxxt7_97c0000gn/T/page-01.jpg'
errno: -2,
code: 'ENOENT',
syscall: 'lstat',
path: '/var/folders/dd/zdnq1dcn2vb328ntxxt7_97c0000gn/T/page-01.jpg' }```
【问题讨论】:
-
请编辑问题以显示整个 Cloud Function 代码,而不仅仅是它的 sn-p。
-
在云函数上,唯一的 writable part of the filesystem 是 /tmp,因此您不应该尝试写入 /var。
标签: javascript node.js google-cloud-functions ghostscript