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

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

相关·内容

领券