0

当我想使用 RestFul WebService 和 jersy 下载文本文件(名称是 demo.txt)并通过它访问它时,我收到以下错误:HTTP Status 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();
}
}

请帮助我提前谢谢

4

1 回答 1

0

几天前我正在解决同样的问题。最好的办法是将文件转换为字节[],例如

byte[] 缓冲区 = 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();
}
}

这行得通。试着让我知道。

于 2014-02-21T20:12:19.457 回答