我有一个基于jersey的web服务,它生成一个“多部分/混合”响应,如下所示:该方法读取一个文件,并应以八位字节格式返回它。
@GET
@Produces("multipart/mixed")
public byte[] getDocumentContents(@Context HttpHeaders header){
....
....
....
os = new ByteArrayOutputStream();
....
....
....
return os;
}
我的问题是:如何确保响应为八位字节流类型?我知道我也可以将上述方法注释为:
@Produces("application/octet-stream")
但是我特别要求在发送八位流格式的文件时将响应内容类型设置为“多部分/混合”。
上面的方法做到了吗?我的假设是有,但我没有具体的理由。
提前谢谢你!
我认为“multipart/mixed”不是REST方法返回的有效媒体类型,正确的方法是:
@GET
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response getDocumentContents(@HeaderParam("your header param") final YourHeaderParamUserType headerParam) {
byte[] outByteArray = ... obtain byte array
return Response.ok()
.entity(outByteArray)
.build();
}
注意:
>
您可能想要从标头中提取的参数可以使用函数中的参数获取,如:
@HeaderParam(“您的标题参数”)最终YourHeaderParamUserType HeaderParam
在“YourHeaderParamUserType”中,您唯一不必忘记的是:
我正在为上传文件创建一个简单的。从其他API中,我发现它们使用“”内容类型。但对我来说,“”似乎要简单得多。 如果我不打算在文件中发送更多的表单数据,那么有什么理由使用“”而不是“”呢?
有一个只接受内容类型multipart/mixed的REST API。 正在尝试使用restTemplate并生成内容类型为multipart/mixed的REST请求。如果注释setContentType restTemplate默认为多部分/表单数据。 但运气不好,举个例子,我如何调用API生成多部分/混合请求? 也许这个有帮助
我是一名PHP、HTML5、CSS3、Javascript、Jquery、Angular的全栈开发人员,热衷于学习任何新技术 现在,我有了一个混合移动应用程序项目(更简单,只需少量的curd操作和web服务),而且它还将是web应用程序,我需要尽快交付。所以我的问题是为正确的工作选择正确的工具 混合应用程序可以使用 平台:Phonegap或cordova,根据我的理解,cordova是Phoneg
执行测试脚本后,我看到控制台“驱动程序null”错误 剧本: 如果我错过了什么,有人能帮忙吗。谢谢,
我有一个基于泽西的网络服务,它产生一个“多部分/混合”响应如下:该方法读取一个文件,并应以八位字节格式返回。此外,它读取该文件的元数据,并以json形式返回。 方法: 我的问题是,我得到了以下错误,这对我来说没有意义: 据我所知,是os。toByteArray()正在将我的对象转换为字节数组。 任何想法? 编辑:我正在使用Jersey 1.15
我在移动领域已经有一段时间了,我们已经有了原生的Android和iOS应用程序。现在我们公司正计划加强我们的移动网站,我们的团队已经选择Angular 2 TypeScript Ionic 2。我们非常困难地完成了我们在爱奥尼亚的注册表格开发。现在我了解了NativeScript,它可以在不使用webview的情况下开发混合应用程序,而且由于它使用了本机UI组件,人们说它的外观 我有点困惑选择一个