java - 如何设置我自己的值作为边界,用 Jersey 发送多部分数据?

标签 java jersey multipart jersey-client

我正在使用 jersey-client 发送多部分数据,并且 jersey 客户端自行生成边界。
我的问题是消费服务器将传入的 TCP 流解析为原始数据,使用他自己的常量值作为边界。听起来很奇怪,我知道:)但我不能在服务器端做一些事情。
所以我需要自己设置边界,但在 FormDataMultiPart 中找不到任何合适的方法。我该如何解决?这可能吗?

最佳答案

让你的方法返回 Response并自行设置响应的媒体类型:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response post(
        @FormDataParam("part") String s,
        @FormDataParam("part") FormDataContentDisposition d) {

    final Map<String, String> parameters = Maps.newHashMap();
    parameters.put("boundary", "myboundary");

    final MediaType mediaType = new MediaType("multipart", "form-data", parameters);

    return Response
            .ok(s + ":" + d.getFileName(), mediaType)
            .build();
}

关于java - 如何设置我自己的值作为边界,用 Jersey 发送多部分数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20141010/

相关文章:

java - Log4J 日志不创建备份文件

java - RSA 加密中的 BadPaddingException

java - 如何访问 HTTP Basic 用户名?

java - 无法使用 struts 2.0 框架上传 2gb 大小的文件

http - 包含多个文件的多部分 HTTP 请求应该是什么样的?

swift - 使用 Alamofire 上传多部分表单数据文件

java - 在创建之前将 bundle 发送到主/启动器 Activity ?

java - hibernate : @ValueGenerationType applied at insert but not update time

java - PUT 不允许 Jersey 路径正则表达式导致方法

java - 是否可以从 SQLException 对象获取 JDBC Connection 对象?