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');