Return csv 文件 - Deno
Return csv file - Deno
我想要 return 带有 Deno & oak 库的 API 上的 csv 文件。我已经生成了我的 csv 文件,但我不知道如何 return 它到我的 GET 端点 以供下载 .
let fileName: string = `./temp/activities`
fileName += start ? `-(${start})` : ``
fileName += end ? `-(${end})` : `-(${moment().format('YYYY-MMM-DD')})`
fileName += `.csv`
const file = await Deno.open(fileName, { write: true, create: true, truncate: true });
const header = ["company", "project", "url_project", "activity", "url_activity", "date"];
await writeCSVObjects(file, activities, { header });
file.close();
ctx.response.body = await Deno.readFile(fileName);
ctx.response.headers.set("Content-Type", "application/force-download")
ctx.response.headers.set('Content-disposition', 'attachment; filename=activities.csv');
在阅读 deno 文档后,我找到了正确的方法:
await Deno.readFile(fileName);
(https://deno.land/typedoc/index.html#readfile)
及其重要添加 header 回复:
ctx.response.headers.set('Content-disposition', 'attachment; filename=activities.csv');
我想要 return 带有 Deno & oak 库的 API 上的 csv 文件。我已经生成了我的 csv 文件,但我不知道如何 return 它到我的 GET 端点 以供下载 .
let fileName: string = `./temp/activities`
fileName += start ? `-(${start})` : ``
fileName += end ? `-(${end})` : `-(${moment().format('YYYY-MMM-DD')})`
fileName += `.csv`
const file = await Deno.open(fileName, { write: true, create: true, truncate: true });
const header = ["company", "project", "url_project", "activity", "url_activity", "date"];
await writeCSVObjects(file, activities, { header });
file.close();
ctx.response.body = await Deno.readFile(fileName);
ctx.response.headers.set("Content-Type", "application/force-download")
ctx.response.headers.set('Content-disposition', 'attachment; filename=activities.csv');
在阅读 deno 文档后,我找到了正确的方法:
await Deno.readFile(fileName);
(https://deno.land/typedoc/index.html#readfile)
及其重要添加 header 回复:
ctx.response.headers.set('Content-disposition', 'attachment; filename=activities.csv');