在Next.js中使用API下载TXT文件,可以通过创建一个API路由来处理文件下载请求。以下是实现这一功能的步骤:
pages/api
目录下创建API路由,这些路由可以处理HTTP请求并返回响应。pages/api
目录下创建一个新的文件,例如downloadTxt.js
。fs
)读取TXT文件的内容。Content-Type
为text/plain
,并设置Content-Disposition
为attachment
,以便浏览器将其识别为文件下载。以下是一个完整的示例代码:
// pages/api/downloadTxt.js
import fs from 'fs';
import path from 'path';
export default async function handler(req, res) {
try {
// 文件路径
const filePath = path.join(__dirname, '..', 'public', 'example.txt');
// 读取文件内容
const fileContent = fs.readFileSync(filePath, 'utf8');
// 设置HTTP头
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Disposition', 'attachment; filename=example.txt');
// 返回文件内容
res.status(200).send(fileContent);
} catch (error) {
console.error(error);
res.status(500).json({ message: 'Internal Server Error' });
}
}
Content-Type
和Content-Disposition
头。通过以上步骤和示例代码,你可以在Next.js中实现一个API来下载TXT文件。
领取专属 10元无门槛券
手把手带您无忧上云