我有一个Web服务,它返回两种不同类型的响应:
text/plain
和application/octet-stream
网络服务代码:
@GET
@Produces({ MediaType.APPLICATION_OCTET_STREAM, MediaType.TEXT_PLAIN })
@Path("/getUpdate")
public Response getUpdate(@QueryParam("softwareId") String softwareId, @QueryParam("version") String version, @QueryParam("osNameCode") int osNameCode,
@QueryParam("osArchCode") int osArchCode) {
File file = Utils.getUpdateFile(version, osNameCode, osArchCode);
if (file != null)
return Response.status(200).entity(file).type(MediaType.APPLICATION_OCTET_STREAM)
.header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"").build();
else
return Response.status(200).entity("No File").type(MediaType.TEXT_PLAIN).build();
}
如果响应类型为application/octet-stream
,状态为200 OK,我的文件成功,但在Chrome网络中请求的网络颜色为红色!
我通过在浏览器中输入地址来调用Web服务:
http://localhost:8080/SSS/update/getUpdate?softwareId=SSS&version=1.1.2&osNameCode=2&osArchCode=1
任何想法?