使用RESTAPI下载内容的最佳方法是什么;s包含大数据(100 MB)-Java

使用RESTAPI下载内容的最佳方法是什么;s包含大数据(100 MB)-Java,java,rest,download,iostream,Java,Rest,Download,Iostream,我使用MaprAPI将日志文件中的内容读取到流对象中 //读取日志文件的代码。。。。。。。。 //然后将内容放入流对象中,如下所示 FSDataInputStream=FileSystem.get(URI.create(URI),conf) //现在我已经在UI中提供了这些内容供下载 //我可以将其转换为字节[],然后再转换为字符串 byte[]bs=新字节[stream.available()] 字符串内容=新字符串(bs) 我的要求是创建一个RESTAPI来下载此内容。下载此内容的最佳方法是

我使用MaprAPI将日志文件中的内容读取到流对象中

//读取日志文件的代码。。。。。。。。 //然后将内容放入流对象中,如下所示

FSDataInputStream=FileSystem.get(URI.create(URI),conf)

//现在我已经在UI中提供了这些内容供下载

//我可以将其转换为字节[],然后再转换为字符串

byte[]bs=新字节[stream.available()]

字符串内容=新字符串(bs)

我的要求是创建一个RESTAPI来下载此内容。下载此内容的最佳方法是什么

提前感谢

@RequestMapping(value=“api/download/{id}”,
@RequestMapping(value = "api/download/{id}",
    method = RequestMethod.GET,
    produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)  
 public ResponseEntity<?> downloadReportFile(@PathVariable Long id) {
    log.debug("To download log file from remote server.");

    try {
        Long idparam = id;
       // -----------------------
       // Code to get FSDataInputStream
       // -----------------------  
       FSDataInputStream stream =FileSystem.get(URI.create(uri),conf);
       byte[] byteArray = new byte[stream.avilable()];
       stream.read(byteArray)
        return new  ResponseEntity<>(new ByteArrayResource(byteArray), HttpStatus.OK);
    } catch (IOException e) {
        log.error("Failed to download file ", e);
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
    }

}
method=RequestMethod.GET, products=MediaType.APPLICATION\u OCTET\u STREAM\u VALUE) public ResponseEntity downloadReportFile(@PathVariable Long id){ debug(“从远程服务器下载日志文件”); 试一试{ 长idparam=id; // ----------------------- //获取FSDataInputStream的代码 // ----------------------- FSDataInputStream=FileSystem.get(URI.create(URI),conf); byte[]byteArray=新字节[stream.aviable()]; stream.read(byteArray) 返回新的ResponseEntity(newbytearray资源(byteArray),HttpStatus.OK); }捕获(IOE异常){ log.error(“下载文件失败”,e); 返回ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); } }
请添加相关代码,以配合您的问题您在此处尝试的内容。