当我想使用RestFul WebService和jersy下载文本文件(名称是demo.txt)并通过它访问它时,我收到以下错误: HTTP状态500 - c:\ demo.txt(系统找不到指定的文件)我在C:驱动器中有demo.txt 我的代码是:
@Path("/file")
public class FileService {
@GET
@Path("/download")
@Produces("text/plain")
public Response getFile(){
File file=new File("c:\\demo.txt");
ResponseBuilder builder=Response.ok((Object)file);
builder.header("Content-Disposition","attachment; filename=\"test1.txt\"");
return builder.build();
}
}
请提前帮助我
答案 0 :(得分:0)
几天前我正在解决同样的问题。 最好的办法是用byte []转换文件,比如
byte [] buffer = IOUtils.toByteArray(is);
其中'is'是您要下载的文件的输入流对象,然后替换您的代码:
@Path("/file")
public class FileService {
@GET
@Path("/download")
@Produces("text/plain")
public Response getFile(){
ResponseBuilder builder=Response.ok((Object)buffer);
builder.header("Content-Disposition","attachment; filename=\"test1.txt\"");
return builder.build();
}
}
这很有效。试着让我知道。