如何查看 MultipartForm 请求的内容?

2024-01-05

我正在使用 Apache HTTPClient 4。我正在做非常正常的多部分工作,如下所示:

val entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("filename", new FileBody(new File(fileName), "application/zip").asInstanceOf[ContentBody])
entity.addPart("shared", new StringBody(sharedValue, "text/plain", Charset.forName("UTF-8")));

val post = new HttpPost(uploadUrl);
post.setEntity(entity);

我想在发送之前查看实体(或帖子等)的内容。然而,该具体方法并未实现:

entity.getContent() // not defined for MultipartEntity

我怎样才能看到我发布的内容?


Use the org.apache.http.entity.mime.MultipartEntity writeTo(java.io.OutputStream) http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html#writeTo(java.io.OutputStream方法将内容写入java.io.OutputStream,然后将该流转换为String or byte[]:

// import java.io.ByteArrayOutputStream;
// import org.apache.http.entity.mime.MultipartEntity;
// ...
// MultipartEntity entity = ...;
// ...

ByteArrayOutputStream out = new ByteArrayOutputStream(entity.getContentLength());

// write content to stream
entity.writeTo(out);

// either convert stream to string
String string = out.toString();

// or convert stream to bytes
byte[] bytes = out.toByteArray();

注意:这仅适用于小到足以读入内存的多部分实体,并且小于 2Gb(Java 中字节数组的最大大小)。

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

如何查看 MultipartForm 请求的内容? 的相关文章

随机推荐

  • 一键上传文件

    如何在需要发送文件的 html 中制作一个按钮 允许您选择文件 然后将其发送到我想要的页面上 而不使用按钮来选择文件并使用按钮将其发送到另一个页面 感谢您
  • python3.6 - TypeError:write() 参数必须是 str,而不是 bytes - 但不涉及文件

    以下代码返回错误 我不明白为什么 在Python 3 6上运行 import subprocess import sys import os def execute shell cmd cmd process subprocess Pope
  • Qt 上的“GLib-ERROR **:无法创建管道主循环唤醒:打开的文件太多”

    我正在 Ubuntu 上工作 当我运行程序大约 1 小时后 我收到此错误 GLib ERROR 无法创建管道主循环唤醒 打开的文件太多程序意外完成 当我使用 gdb 运行时 它不会崩溃 我不明白为什么 以及此错误的原因是什么 非常感谢 打开
  • 后台模式下的 iOS 区域监控

    我在我的应用程序中使用区域监控 但遇到了一个问题 但找不到任何答案 区域监控在后台模式下如何工作 根据位置感知 PG 的说法 每次用户的当前位置 跨越边界区域 系统 生成适当的区域事件 为您的应用程序 如果你的 应用程序已经在运行 这些 活
  • 寻找一个 Perl 模块来在共享 RAM 中存储哈希结构

    我想将数据结构持久存储在 RAM 中 并可以从预分叉中访问它 Perl 中的 Web 服务器进程 理想情况下 我希望它的行为类似于 memcached 但不需要单独的守护进程 有任何想法吗 Use 缓存 FastMmap http sear
  • 定义中的预处理器指令? [复制]

    这个问题在这里已经有答案了 可能的重复 C 预处理器 在 define 中使用 if https stackoverflow com questions 2831934 c preprocessor using if inside defi
  • 检测零分和交叉中获胜的比赛

    我需要知道在圈和十字游戏中检测获胜动作的最佳方法 源代码并不重要 我只需要一个示例或可以开始的东西 我唯一能想到的就是使用循环并测试玩家所做的每个动作的每个方向 以搜索例如连续五个 有没有更快更有效的方法呢 真正简单的解决方案是从最后一步开
  • Haskell 中的多核编程 - Control.Parallel

    我正在尝试学习如何使用Control Parallel模块 但我认为我没有理解正确 我正在尝试运行以下代码 fibs hs import Control Parallel fib Int gt Int fib 0 0 fib 1 1 fib
  • 如何使用 Java 8 中的流将列表中的对象按属性分组到其他列表中?

    我想对包含以下内容的对象列表进行分组time属性分为 5 分钟间隔 最好使用流和收集器 我在 StackOverflow 上找到的唯一可能的解决方案是计算我需要多少个间隔 子列表 将每个对象添加到每个列表中 并过滤掉不适合相应时间范围的对象
  • php中如何检查文件路径是否为图像?

    我有一个表存储 images documents pdf 等的文件路径 我的查询是 Select File Paths from Uploads 现在我如何使用 PHP 检查文件路径是否是图像 如果是图像我必须查看它或下载它 老好获取图像大
  • 有没有一种干净的方法来阻止 windows.h 创建近和远宏?

    在 WinDef h 的深处有一段来自分段内存时代的遗迹 define far define near 如果您尝试使用近或远作为变量名称 这显然会导致问题 有什么干净的解决方法吗 其他然后重命名我的变量 您可以安全地取消定义它们 这与其他人
  • 将用户控件添加到 wpf 窗口

    我创建了一个用户控件 但是当我将其添加到窗口中的 XAML 时 Intellisense 不会拾取它 并且我不知道如何将其添加到窗口 您需要在窗口标签内添加引用 就像是 xmlns controls clr namespace YourCu
  • 在 C# 中支持 VB.NET 的导入命名空间功能

    我习惯VB NET 我正在学习的游戏源代码是用C 编写的 我觉得很烦人 我必须添加using System Diagnostics到源代码以便输入Debug WriteLine 我在项目属性下进行了检查 但找不到允许我将命名空间添加到导入的
  • Spring框架是否支持多部分请求中的流模式

    我在中找不到任何指示Spring文档 http static springsource org spring docs 1 2 x reference mvc html它支持在处理多部分请求的 MultipartHttpServletReq
  • 如何强制 Internet Explorer 使用元标记中给出的编码?

    我正在尝试准备一个包含英语和阿拉伯语混合内容的演示 html 页面 基本上它包含一个小桌子 左边是英语短语 右边是阿拉伯语翻译 因为我不懂阿拉伯语 所以我从 中取出了阿拉伯字母的前三个字符统一码参考 http www unicode org
  • 如何在 Visual Studio 2013 调试会话期间编辑日期时间变量

    如果我放置断点并导致代码执行在我希望测试 DateTime 变量值的行暂停 则 Visual Studio 2013 调试器将以 10 1 2017 12 的形式显示 DateTime 变量的值 00 00 AM 当我悬停它甚至允许我开始编
  • 如何从分离的视图控制器中呈现视图控制器?

    我试图以模态方式呈现一个视图控制器并获得著名的Presenting view controllers on detached view controllers is discouraged错误 我进行了研究 一致的解决方案似乎是由家长进行演
  • sk paymentqueue canmake payment内存泄漏检查

    I run Instrument去检查Leaks在我的应用程序中 又有 1 条新泄漏 SKPaymentQueue canMakePayments 每次启动时甚至没有调用付款代码 根据这个日期 SKPaymentQueue s CanMak
  • 在 Go 中,将接收者变量命名为“self”是误导还是好的做法?

    我看过相当多的关于 Go 的博客和视频 据我记得 没有一个作者在编写方法时使用 self 或 this 作为接收者变量 然而 似乎有很多关于堆栈溢出的问题可以做到这一点 这让我思考这是否会误导将变量命名为 self 阅读规格方法集 http
  • 如何查看 MultipartForm 请求的内容?

    我正在使用 Apache HTTPClient 4 我正在做非常正常的多部分工作 如下所示 val entity new MultipartEntity HttpMultipartMode BROWSER COMPATIBLE entity