当前位置: 首页 > news >正文

PartList::getNamedPart(...)获取对象为空

PartList::getNamedPart(…)获取对象为空

场景

前端上传文件时,需要携带其它的描述信息,如:userId(用户id)、userName(用户名)等。

问题描述

auto userPart = multipart->getNamedPart("userId");

后端获取的userPart对象为空

原因

最常见的原因是您没有为该part设置PartReader,导致数据没有被读取。
所以:

ENDPOINT("POST", "upload", upload,  REQUEST(std::shared_ptr<IncomingRequest>, request))  
{  auto multipart = std::make_shared<oatpp::web::mime::multipart::PartList>(request->getHeaders());  oatpp::web::mime::multipart::Reader multipartReader(multipart.get());  // 为字段设置reader  multipartReader.setPartReader("file", oatpp::web::mime::multipart::createFilePartReader("/tmp")); // file reader// 方法一:每个字段设置各自的readermultipartReader.setPartReader("userId",oatpp::web::mime::multipart::createInMemoryPartReader(1024)); // 1kb, memory readermultipartReader.setPartReader("userName",oatpp::web::mime::multipart::createInMemoryPartReader(1024)); // 1kb, memory reader// 方法二:或者为剩余所有字段设置默认的readmultipartReader.setDefaultPartReader(oatpp::web::mime::multipart::createInMemoryPartReader(16 * 1024));  // 16kb, memory reader// 读取multipart数据  request->transferBody(&multipartReader); 
}

notes

  • 必须在调用transferBody()之前设置PartReader,否则数据不会被读取到payload中
  • setDefaultPartReader()可以为所有未明确指定reader的part设置默认处理方式
http://www.dtcms.com/a/540777.html

相关文章:

  • 做食品网站有哪些东西企业信息管理系统erp
  • 廊坊网站制作费用青海西宁网页网站制作
  • 东莞好的网站建设哪家好做设计找素材那个网站最好用
  • php 怎么做视频网站陕西省建设网三类人员成绩公示
  • 多模态的大模型文本分类模型代码(一)——准备阶段
  • 算法———栈
  • 甜点的网站建设规划书企业qq和个人qq有什么区别
  • java公式解析工具
  • 元推理:自指自洽,求道求德,美轮美奂
  • IE-Sec笔记7
  • 【Linux基础知识系列:第一百六十一篇】终端文件管理器:Midnight Commander (mc)
  • Google Veo 3.1 提示词生成器:让 AI 视频创作效率翻倍的免费工具
  • 【医学影像 AI】AutoMorph:基于深度学习的视网膜血管自动化分析工具
  • 郑州做网站找赢博科技定制app开发
  • 使用Docker安装Jenkins:完整指南与最佳实践
  • 手写一个C++字符串类:从底层理解String的实现
  • 大学学院教授委员会制度研究(四)职能设置--杨立恒毕业论文
  • Docker 命令自动补全:临时与持久化配置指南
  • 简单使用Nest+Nacos+Kafka实现微服务
  • 了解学习Redis主从复制
  • 【含文档+PPT+源码】基于java web的篮球馆管理系统系统的设计与实现
  • 眉山建设银行官方网站html5的网站设计与实现是做什么
  • 【音视频】图像与音频的3A技术:ISP相机与音频3A算法的对比
  • 字节码的“字节”含义
  • 做天然文化石的网站锦州网站建设多少钱
  • HarmonyOS实战项目:打造智能家居控制中心(设备发现与控制)
  • Linux存储软件栈剖析之第5篇:F2FS文件系统
  • iis7 网站权限设置chromeseo是什么
  • 新网站建设服务在线crm视频在线crm
  • MongoDB入门指南基础篇