【问题标题】:Return csv file - Deno返回 csv 文件 - Deno
【发布时间】:2020-07-06 07:31:40
【问题描述】:

我想在带有 Deno 和 Oak 库的 API 上返回 csv 文件。我已经生成了我的 csv 文件,但我不知道如何将它返回到我的 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');

【问题讨论】:

  • 您希望浏览器下载 csv?
  • 是的,先生。在浏览器/邮递员上

标签: api rest csv deno oak


【解决方案1】:

在阅读 deno 文档后,我找到了正确的方法:

await Deno.readFile(fileName);

(https://deno.land/typedoc/index.html#readfile)

及其重要的添加头响应:

ctx.response.headers.set('Content-disposition', 'attachment; filename=activities.csv');

【讨论】:

    猜你喜欢
    • 2015-07-09
    • 2015-07-26
    • 2017-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    相关资源
    最近更新 更多