相关疑难解决方法(0)

Node/Express生成一次性路由/链接/下载?

我如何在nodeJS或Express中创建一次性下载链接?

我正在努力找到实现这一目标的最简单方法.我到目前为止的想法是:

使用fs流读取然后删除文件或以某种方式生成一个单击下载按钮后删除的链接/路由

这些实现是否可行?有更简单的方法吗?

任何帮助或示例代码将不胜感激!

-谢谢

javascript download node.js express

6
推荐指数
1
解决办法
5332
查看次数

在运行时删除Node.js中的specfic映射路由会删除静态映射吗?

基于这个问题答案我的功能,我写了这个函数来删除实时站点上的路由(使用Express和Node).

function deleteRoute(url) {


 for (var i = app.routes.get.length - 1; i >= 0; i--) {
   if (app.routes.get[i].path === "/" + url) {
     console.log(app.routes.get[i]);
     delete app.routes.get[i];
     console.log(app.routes.get)
   }
 }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,它似乎也删除了所有静态页面的路由,这些页面在启动时声明如下:

 app.use(express.static(__dirname + '/components'));
Run Code Online (Sandbox Code Playgroud)

我已经冥想了一段时间,似乎无法控制它.任何人都可以帮忙吗?每当我在之前和之后记录app.routes.get时,看起来操作都是正确完成的.

具体来说,这是在删除路由后重新加载任何静态页面时出现的错误:

 TypeError: Cannot call method 'match' of undefined
Run Code Online (Sandbox Code Playgroud)

这是删除前的app.routes:

 { get: 
  [ { path: '/',
   method: 'get',
   callbacks: [Object],
   keys: [],
   regexp: /^\/\/?$/i,
   params: [] },
 { path: '/index.html',
   method: 'get',
   callbacks: [Object],
   keys: [],
   regexp: /^\/index\.html\/?$/i,
   params: [] },
 { path: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express

2
推荐指数
1
解决办法
1861
查看次数

标签 统计

express ×2

javascript ×2

node.js ×2

download ×1