阅读 Fetch Promise 的正文

2024-01-16

我有以下用于上传到 Google Cloud 存储的快速端点。它工作得很好,来自 google api 的响应给了我一个唯一的文件名,我想将其传回我的前端:

app.post('/upload', (req, res) => {
  var form = new formidable.IncomingForm(),
  files = [],
  fields = [];

  form
    .on('field', function(field, value) {
      fields.push([field, value]);
    })
    .on('file', function(field, file) {
      files.push([field, file]);
    })
    .on('end', function() {
      console.log('-> upload done');
    });
  form.parse(req, function(err, fields, files){
    var filePath = files.file.path;
    bucket.upload(filePath, function(err, file, apiResponse){
      if (!err){
        res.writeHead(200, {'content-type': 'text/plain'});
        res.end("Unique File Name:" + file.name);
      }else{
        res.writeHead(500);
        res.end();
      }
    });
  });

 return;
});

我通过调用一个将文件传递给它的短函数来到达此端点:

function upload(file) {
  var data = new FormData();
  data.append('file', file);
  return fetch(`upload`,{
    method: 'POST',
    body: data
  });
}

const Client = { upload };
export default Client;

这个函数是从我的前端调用的,如下所示:

Client.upload(this.file).then((data) => {
  console.log(data);
});

本次决赛console.log(data)将响应记录到控制台。但是,我在任何地方都看不到我写的回复("Unique File Name:" + file.name)

如何从客户端的响应正文中检索此信息?

The data当我 console.log 时看起来像这样:

这是当我使用 Postman 将文件发布到端点时得到的响应:


请注意,您正在处理一个响应对象 https://developer.mozilla.org/en-US/docs/Web/API/Response。你基本上需要read响应流Response.json() or Response.text()(或通过其他方法)以查看您的数据。否则,您的响应正文将始终显示为锁定的可读流。例如:

fetch('https://api.ipify.org?format=json')
.then(response=>response.json())
.then(data=>{ console.log(data); })

如果这给您带来了意想不到的结果,您可能需要检查您的响应Postman https://www.getpostman.com/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阅读 Fetch Promise 的正文 的相关文章

随机推荐

  • 如何解决 AWS Cloudformation 中的循环依赖关系

    我创建了一个 AWS Cloudformation 模板 但在克服循环依赖项时遇到问题 我正在创建一个 EC2 实例和一个负载均衡器 负载均衡器依赖于 EC2 实例 因为它在其实例属性中引用它 一切都工作正常 直到我必须在 EC2 实例 I
  • 如何更新datagridview中的单元格?

    我有连接到我的数据库 访问 的 datagridview 如果我停留在任何单元格上并更改值 则会看到该值已更改 但是当我进行刷新时 我看到该值又回到了原始值 我如何更新这个单元格 没有sql查询 我将数据集绑定到 datagridview
  • 在 Spring Boot JPA 中,如何正确 POST 其实体表示与不同实体具有外键关联的对象?

    如果我有一个包含另一个类的对象的实体 例如Book其内部有一个实体Publisher关联的实体如下 ManyToOne JoinColumn name PUB CODE referencedColumnName PUB CODE priva
  • 如何反转 Groovy 集合的排序?

    我正在根据多个字段对列表进行排序 sortedList sort it getAuthor it getDate 这工作正常 但我想要逆转日期并且reverse 不起作用 如何按升序对作者排序 但按降序 反向 顺序对日期排序 我想要的示例
  • 如何以干净的方式分叉现有的 Meteorite 包?

    我正在尝试找出在项目中分叉 Atmosphere 上现有包的最佳 最干净的方法 我遇到过一些情况 现有的包需要一些修改 我被迫分叉它 据我所知 存在以下选项 不幸的是 所有这些都有自己的问题 我还没有找到完美的解决方案 我会用meteor
  • 使用水豚测试内容顺序(序列)

    我尝试过使用以下语法 page body index 姓名 但问题是 如果同一页面上有多个具有相同内容的字符串 则无法检查特定字符串的索引 对于前 页面有内容 姓名 和 电话 3次 那么如何验证具体内容的顺序 请建议我们是否可以使用 CSS
  • Chrome 不支持 getUserMedia()

    我正在尝试使用 getUserMedia 使用我自己的网站 使用我自己的 IP 地址运行 来访问我的网络摄像头 它工作正常 直到我再次尝试我的网站 我尝试过其他演示站点 给出的错误是 getUserMedia 不受支持 Chrome版本v4
  • Kafka以相反的顺序消费消息

    我使用Kafka 0 10 我有一个主题logs我的物联网设备将日志发布到其中 我的消息的关键是device id 所以同一设备的所有日志都在同一个分区 我有一个 API devices id tail logs需要显示呼叫时某台设备的最后
  • 在 javascript postmessage 上到本地磁盘上的父级 HTML iframe

    我正在开发一个项目 涉及在 iframe 中托管网页 而托管父 iframe 位于本地磁盘上的 HTML 文件中 例如在 c 而内部托管 iframe 位于某些服务器上 两个网页需要互相发送消息 父 iframe 在本地磁盘上 向内部框架发
  • Log.e 不打印 UnknownHostException 的堆栈跟踪

    Calling Log e TAG some message e where e is an UnknownHostException 不会在 logcat 上打印堆栈跟踪 自2011年5月20日起 Log类 这样UnknownHostEx
  • 如何在ggplot2中通过点绘制45度线

    我有一个对数刻度的散点图 其中垂直和水平参考线穿过 1 1 下面的虚线 我想添加与虚线参考线成 45 度角的额外参考线 以便它们恰好平分虚线参考线创建的四个 部分 例如 下面我刚刚通过眼睛添加的较细实线 我怎样才能用 ggplot 做到这一
  • 使用任何 Android 设计支持库元素时出错

    从设计支持库中扩充任何内容时出错 xml
  • 如何从 Ruby on Rails 解析 json 数据或(json 代码)

    我有一个 Ruby on Rails 源代码 现在我想解析数据并发送数据 在我的代码中 它将从用户获取名称并显示它 如何解析 ROR 中的数据 这是我的controller rb代码 def index hotels Hotel all r
  • shell 文本编辑器如何工作?

    我对编程相当陌生 但我想知道 shell 文本编辑器 如 vim emacs nano 等 如何能够控制命令行窗口 我主要是一名 Windows 程序员 所以也许 nix 上的情况有所不同 据我所知 只能将文本打印到控制台并要求输入 文本编
  • 如何扫描 pandas 数据帧中所有大于某值的值并返回与该值对应的行号和列号?

    我有一个问题 我有如下所示的巨大数据集 相关系数矩阵 A B C D E A 1 0 413454352 0 615350574 0 479720098 0 34261232 B 0 413454352 1 0 568124328 0 31
  • 提交-拉-合并-推还是拉-合并-提交-推?

    我们几周前开始使用 Mercurial 大多数开发人员都遵循以下工作流程 致力于某项功能 commit m 致力于功能 ABC pull u If branch merge 提交 m 合并 push 今天 我们的一位开发人员建议我们这样做
  • Keras ImageDataGenerator 流程方法中的 save_to_dir 遇到问题

    我想保存 ImageDataGenerator 正在创建的增强图像 以便以后使用它们 当我执行以下代码时 它运行正常 但我希望保存的图像没有显示在我尝试保存它们的目录中 gen image ImageDataGenerator rotati
  • Future 任务完成后 Java 进程没有退出

    这是我使用 Future 的代码片段 import java util concurrent import java util public class FutureDemo public FutureDemo Future Executo
  • 更改或删除 App Store 中的开发者名称

    我已经为我的客户创建了一个应用程序 我们已经用我的帐户发布了该应用程序 现在 他们想将开发商名称更改为他们公司的名称 有没有办法更改开发商名称 我可以将我的应用程序移至他们的企业帐户 以便开发者名称更改为他们的企业名称吗 是的 自 WWDC
  • 阅读 Fetch Promise 的正文

    我有以下用于上传到 Google Cloud 存储的快速端点 它工作得很好 来自 google api 的响应给了我一个唯一的文件名 我想将其传回我的前端 app post upload req res gt var form new fo