首页
学习
活动
专区
工具
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)

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

相关·内容

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介绍

2分23秒

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

1分7秒

jsp新闻管理系统myeclipse开发mysql数据库mvc构java编程

14分24秒

动力节点SSM框架项目【CRM客户管理系统】实战实战教程-002

领券