首页 > 其他分享 >Koa扩展之下载文件和访问HTML页面

Koa扩展之下载文件和访问HTML页面

时间:2022-10-25 13:25:41浏览次数:64  
标签:const Koa require ctx koa HTML static path 页面

下载文件和访问HTML页面示例

PS:在项目的根目录新增static文件夹,static文件夹中包含load.html页面和模板文件.xlsx。

const koa = require('koa');
const Router = require('koa-router');
const app = new koa();
const port = 4444; // 端口号
const router = new Router();
const koaBody = require('koa-body')
const path = require('path');
const fs = require('fs');
const static = require('koa-static');
const send = require('koa-send');

// 浏览器访问页面load.html
router.get('/hm', (ctx) => {
    ctx.type = 'html'; // 设置头类型, 如果不设置,会直接下载该页面
    const pathUrl = path.join(__dirname, '/static/load.html'); // 读取文件
    ctx.body = fs.createReadStream(pathUrl);
});

// 下载问价
router.get('/fileload/:name', async (ctx) => {
    const name = ctx.params.name;
    const path = `static/${name}`;
    ctx.attachment(path);
    await send(ctx, path);
});

app.use(router.routes());
app.use(router.allowedMethods());
app.use(static(path.join(__dirname)));
app.listen(port, () => {
    console.log('server listen =' + port);
})
访问页面:http://localhost:4444/hm  
下载模板:http://localhost:4444/fileload/模板文件.xlsx
======
参考文件:http://t.zoukankan.com/tugenhua0707-p-10828869.html

标签:const,Koa,require,ctx,koa,HTML,static,path,页面
From: https://www.cnblogs.com/min77/p/16824531.html

相关文章

  • html5使用WebUploader做大文件的分块和断点续传
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用......
  • 解决uniapp跳转页面传递特殊符号参数的时候出现问题
    1.普通传参uni.navigateTo({url:'/pages/login/prettyFilter?ruleName=AAA+*'})这时跳转过去的页面参数特殊字符不见了,如图:  2.使用encodeURIComponent进......
  • HTML元素大全(1)
    01、基础元素<h1/2/3/4/5/6>标题从大h1到小h6,块元素,有6级标题。是一种标题类语义标签,内置了字体、边距样式。合理使用h标签,主要用于标题,不要为了加粗效果而随意使用。......
  • HTML标签_文本标签2和HTML文本标签_练习
    HTML标签_文本标签2:文本标签:<b>:字体加粗<i>:字体斜体<font>:字体标签<center>:文本居中属性∶color:颜色size:大小face:字体代码示例:<!--加粗标签b-->......
  • 关于一个web站点的欢迎页面
    关于一个web站点的欢迎页面什么是一个web站点的欢迎页面?对于一个webapp来说,我们是可以设置它的欢迎页面的。设置欢迎页面之后,当你访问这个webapp的时候,或者访问这......
  • HTML
    demo01(3种样式表)  demo02(3种选择器)-   demo03(样式的复合,组合,嵌套)   demo04(a标签)demo05(::) demo06(列表-无序,有序,图片) demo07(display和visibili......
  • selenium-页面导航(前进、后退、刷新)
    fromwebdriver_helperimportwebdriver,get_webdriverfromseleniumimportwebdriverdriver=get_webdriver()#实例化,刚启动浏览器是空白页面driver.maximize_wind......
  • Zabbix在服务器上执行Agent上的脚本时返回Permission denied,在页面上显示该item为"Not
    [root@uat-otherzabbix]#zabbix_get-s IP地址-p10050-kkeysh:脚本:Permissiondenied排查问题:1、脚本的执行权限、用户组等2、脚本所在目录的权限,一层层排......
  • HTML5
    HTMLHyperTextMarkupLanguage(超文本标记语言)超文本包括:文字、图片、音频、视频、动画等W3CWorldWideWebConsortium(万维网联盟)W3C标准包括结构化标准语言(HT......
  • html学习
    基本元素1.标题<h1>到<h6>标签,代表不同大小的标题。2.段落<p>表示段落,会自动换行。3.粗体<b>和<strong>都能表示粗体,强调内容重要......