0

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();
}
}

助けてください よろしくお願いします

4

1 に答える 1

0

私は数日前に同じ問題を回避していました。最善の方法は、ファイルをバイト [] に変換することです。

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();
}
}

これは機能します。試して、私に知らせてください。

于 2014-02-21T20:12:19.457 に答える