gpt4 book ai didi

java - 如何从手机发送大的base64字符串到服务器

转载 作者:行者123 更新时间:2023-12-02 11:07:29 25 4
gpt4 key购买 nike

在我的项目中,我必须将图像作为 base64 字符串从移动设备发送到服务器。

问题是,如果图像尺寸很大,我会从过滤器类中收到以下错误

java.lang.StackOverflowError: null
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4719)
at java.util.regex.Pattern$BranchConn.match(Pattern.java:4570)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3779)
at java.util.regex.Pattern$Branch.match(Pattern.java:4606)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4660)
at java.util.regex.Pattern$Loop.match(Pattern.java:4787)

wrapped by: org.glassfish.jersey.server.ContainerException: java.lang.StackOverflowError
at com.LogUIDFilter.doFilter(LogUIDFilter.java:99) [22 skipped]

下面是我的过滤器类

public class LogUIDFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// pass the request along the filter chain
chain.doFilter(request, response);
}


}

如何将巨大的 Base 64 文本从手机发送到服务器。是否有其他投注者方法将图像从手机发送到服务器。

任何帮助将不胜感激!!!!

最佳答案

该问题与base64图像的大小无关。

问题是您在代码中使用了正则表达式,我可以想象您正在测试 base64 字符串的内容。该错误与该正则表达式的解析器执行的长递归有关。

包含某种路径的正则表达式(例如像 (A|B)* 这样的重复替代路径)通过递归调用进行分析。如果解析的字符串很长,这可能会生成 StackOverflowError。

关于java - 如何从手机发送大的base64字符串到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com