首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Fetch API和fs.createWriteStream对文件进行流响应

是一种常见的文件下载方式。Fetch API是一种现代的网络请求API,可以在浏览器中发送HTTP请求。fs.createWriteStream是Node.js中的一个文件写入流模块,用于将数据写入文件。

具体步骤如下:

  1. 在前端,使用Fetch API发送HTTP请求获取文件数据。可以使用GET方法请求服务器上的文件资源。

示例代码:

代码语言:javascript
复制
fetch('http://example.com/file.pdf')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.body;
  })
  .then(body => {
    const fileStream = fs.createWriteStream('path/to/save/file.pdf');
    body.pipe(fileStream);
  })
  .catch(error => {
    console.error('Error:', error);
  });
  1. 在后端,使用Node.js的fs模块创建一个可写流,将文件数据写入到指定的文件路径。

示例代码:

代码语言:javascript
复制
const fs = require('fs');
const fetch = require('node-fetch');

fetch('http://example.com/file.pdf')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.body;
  })
  .then(body => {
    const fileStream = fs.createWriteStream('path/to/save/file.pdf');
    body.pipe(fileStream);
  })
  .catch(error => {
    console.error('Error:', error);
  });

这种流响应的方式适用于大文件下载,可以避免将整个文件加载到内存中,而是通过流的方式逐块写入文件,减少内存占用。

推荐的腾讯云相关产品:腾讯云对象存储(COS)

腾讯云对象存储(COS)是一种高可用、高可靠、强安全性的云端存储服务,适用于存储和处理大规模非结构化数据,如图片、音视频、文档等。COS提供了简单易用的API接口,可以方便地进行文件的上传、下载和管理。

产品介绍链接地址:腾讯云对象存储(COS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

8分30秒

怎么使用python访问大语言模型

1.1K
1分28秒

JSP医药进销存管理系统myeclipse开发SQLServer数据库web结构java编程

1分34秒

JSP期末考试安排管理系统myeclipse开发mysql数据库web结构java编程

1分53秒

JSP贸易管理系统myeclipse开发mysql数据库struts编程java语言

1分25秒

JSP票据管理系统myeclipse开发mysql数据库web结构java编程

1分3秒

JSP企业办公管理系统myeclipse开发SQLServer数据库web结构java编程

1分48秒

JSP库存管理系统myeclipse开发SQLServer数据库web结构java编程

27秒

JSP美容管理系统系统myeclipse开发mysql数据库web结构java编程

2分30秒

JSP SH论文答辩管理系统myeclipse开发mysql数据库mvc结构java编程

2分22秒

JEB Decompiler介绍

8分51秒

2025如何选择适合自己的ai

1.7K
2分23秒

【视频】使用Geobuilding软件将geojson或shapefile转换为3D三维城市模型文件

领券