81,092
社区成员
发帖
与我相关
我的任务
分享
@Path("/download")
@POST
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response download(@FormParam("tid") String tid) {
List<NdsbQyjbxxDTO> list = ndsbBLOImpl.queryFileById(tid);
NdsbQyjbxxDTO dto = list.get(0);
String fjmc = dto.getFjmc();//附件名称
byte fjnr[] = dto.getFjnr();//附件内容
ResponseBuilder builder = Response.ok(fjnr, "application/x-download;charset=utf-8");
try {
builder.header("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fjmc, "UTF-8") + "");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Response response =builder.build();
return response;
}
@Path("/download")
@POST
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response download(@FormParam("tid") String tid) {
List<NdsbQyjbxxDTO> list = ndsbBLOImpl.queryFileById(tid);
NdsbQyjbxxDTO dto = list.get(0);
String fjmc = dto.getFjmc();//附件名称
byte fjnr[] = dto.getFjnr();//附件内容
StreamingOutput stream = new StreamingOutput() { //实现stream
@Override
public void write(OutputStream output) throws IOException, WebApplicationException {
try {
output.write(fjnr); //把数据库读出的字节输出到stream
} catch (Exception e) {
throw new WebApplicationException(e);
}
}
};
//ResponseBuilder builder = Response.ok(fjnr, "application/x-download;charset=utf-8");
ResponseBuilder builder = Response.ok(stream); //用stream返回
try {
builder.header("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fjmc, "UTF-8") + "");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Response response =builder.build();
return response;
}