微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分段表单数据上传如何处理大文件

如何解决分段表单数据上传如何处理大文件

我正在为 java 应用程序使用 quarkus 框架。我创建了 2 个用于使用文件数据的 api。

    @POST
    @Path("file")
    @Consumes(MediaType.APPLICATION_OCTET_STREAM)
    @Produces(MediaType.APPLICATION_JSON)
    public Response uploadFile(byte[] fileData) {
        System.out.println("Received file of size = " + fileData.length);
        String s = new String(fileData);
       return Response.ok().build();
    }

    @POST
    @Path("files")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    public void uploadFile(@MultipartForm FormData fileData) throws IOException {
        System.out.println("Received file of size = ");
        System.out.println(fileData.file.length());
        return Response.ok().build();
    }

FormData 类看起来像这样

public class FormData {

    @FormParam("file")
    @PartType(MediaType.APPLICATION_OCTET_STREAM)
    public File file;
}

虽然这两个其余端点都适用于小文件。但是,如果我上传 700MB 大的文件,第一个端点会因 OOM 问题而失败,而使用 multipart-form 的文件上传成功。有人能解释一下在分段上传的情况下如何管理内存吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。