nextjs框架下载文件代码
时间: 2023-10-01 20:10:20 浏览: 272
下载文件代码
在 Next.js 中下载文件的代码可以使用 Node.js 的 `fs` 模块和 `path` 模块。以下是一个示例代码:
```js
import fs from 'fs';
import path from 'path';
import { NextApiRequest, NextApiResponse } from 'next';
const downloadFile = async (req: NextApiRequest, res: NextApiResponse) => {
const filePath = './public/myfile.pdf'; // 文件路径
const fileName = 'myfile.pdf'; // 下载文件的名称
try {
const fileContent = fs.readFileSync(filePath);
res.setHeader('Content-disposition', `attachment; filename=${fileName}`);
res.setHeader('Content-type', 'application/pdf');
res.send(fileContent);
} catch (error) {
console.error(error);
res.status(500).send('Internal server error');
}
};
export default downloadFile;
```
在上面的代码中,我们首先指定要下载的文件的路径和名称。然后使用 Node.js 的 `fs` 模块读取文件内容,并将其作为响应发送回客户端。我们还设置了响应头,使浏览器将文件保存为附件,而不是在浏览器中打开。最后,我们将此函数导出并将其用作 Next.js API 路由的处理函数。
阅读全文