我正在使用xlsx-populate在流星应用程序的服务器端处理我的文件。下面的代码是我尝试执行的操作,但是它给出了错误。
writeFile : function(dict){
XlsxPopulate.fromFileAsync("assets/app/PlanningTemplate.xlsx").
then(workbook => {
const sheet = workbook.sheet("Sheet1");
Object.keys(dict).forEach(function(key) {
sheet.cell(key).value(dict[key]);
});
workbook.toFileAsync("assets/app/PlanningTemplate.xlsx");
})
}
错误是这样的:
unhandledPromiseRejectionWarning: unhandled promise rejection <rejection id: 1>: Error: EPERM: operation not permitted open C:\.....
但是,我编写了读取文件的代码,效果很好,但是我似乎无法使其适用于写入同一文件。
答案 0 :(得分:1)
基本上,您不应该尝试写入文件系统。将其部署到docker映像时,文件系统将是只读的,因此您必须添加可写卷。使用Ostrio:files这样的包进行文件访问会更容易。
如果您仍要写入文件系统,则必须记住,流星会生成映像并在.meteor / local中的某个位置运行服务器...因此,应使用绝对文件路径,而不要使用相对文件路径。