3

Express.js 生成一次性下载链接

 1 year ago
source link: https://www.v2ex.com/t/893595
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

Express.js 生成一次性下载链接

  dream4ever · Dream4ever · 14 小时 18 分钟前 · 1100 次点击

书接上回:如何实现付费下载功能?

现在已经实现的付费下载功能如下:

  1. 用户在微信中支付成功后,保存微信所返回的订单信息和所购买文件的 id ,同时订单信息中还包含用户微信号的 openid ,用来唯一标识用户。
  2. 用户在前端发起下载请求时,后端 Express.js 查询订单表中是否有该用户的 openid 和和所下载文件的 id ,有的话就用 res.sendFile() 把文件发送给前端。

为了保护文件,还希望用户每次向后端发送下载文件的请求时,后端能生成一个一次性的链接,用户通过该链接下载一次文件后,该链接即失效。这样即使用户把链接发送给其他用户,其他用户也无法再通过该链接下载文件。

后端是 Express.js + MongoDB 的架构,要想实现这样的需求,实现的思路应该是怎样的呢?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK