gpt4 book ai didi

java - 如何查看 MultipartForm 请求的内容?

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:06 25 4
gpt4 key购买 nike

我正在使用 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

如何查看我发布的内容?

最佳答案

使用 org.apache.http.entity.mime.MultipartEntity writeTo(java.io.OutputStream)方法将内容写入 java.io.OutputStream,然后将该流转换为 Stringbyte[]:

// 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 中字节数组的最大大小)的多部分实体。

关于java - 如何查看 MultipartForm 请求的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com