取自http://www.concretepage.com/webservices/download-file-using-restful-web-services-jax-rs,这是从jax-rs rest服务下载文件的代码
@Path("/restwb")
public class FileResource {
@GET
@Path("/download/{fname}/{ext}")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
public Response downloadFile(@PathParam("fname") String fileName,@PathParam("ext") String fileExt){
File file = new File("C:/temp/"+fileName+"."+fileExt);
ResponseBuilder rb = Response.ok(file);
rb.header("Content-Disposition", "attachment; filename=" + file.getName());
Response response = rb.build();
return response;
}
}
我现在的问题是,为了下载文件对象(ArrayList)的列表,响应应该是什么样的?
我们可以写一下:
List<File> lFiles = new ArrayList<File>();
...
ResponseBuilder rb = Response.ok(lFiles);
答案 0 :(得分:-1)
您无法在同一请求中下载多个文件。如果您需要下载多个文件,则必须创建存档,然后下载存档文件。
这是因为文件的原始字节是在HTTP响应中发送的,而HTTP标头用于翻译内容,你只能设置一组标题HTTP响应。