代码之家  ›  专栏  ›  技术社区  ›  Seyed Ali Roshan

jersey(web service):StreamingOutput的优势和创建下载API的最佳方式

  •  1
  • Seyed Ali Roshan  · 技术社区  · 8 年前

    我使用这种方法创建了一个API,用于使用jersey下载文件 JAX-RS REST web服务:

    public Response returnFile(String filePath,String fileName,MediaType type) throws IOException {
        File file = new File(filePath);
        String[] filePart = filePath.split("\\.");
        String fileEnd = filePart[filePart.length - 1];
        return Response.ok(file, type)
            .header("Content-Disposition","attachment; filename=\"" 
                + URLEncoder.encode(fileName + "." + fileEnd,"UTF-8") + "\"" ) 
                .build(); 
    }
    

    但有人告诉我这可能有性能问题和原因 OutOfMemory 例外

    所以我最近搜索了创建这样的API,发现大多数示例都使用了 StreamingOutput

    那么,使用 流量输出 ? 在我的方法中使用它是否比 File ? 如果有人说创建这类API(用于下载文件的API)的最佳方法,我将不胜感激。

    1 回复  |  直到 8 年前
    推荐文章