Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >BasicNetwork.performRequest:意外响应代码413?

BasicNetwork.performRequest:意外响应代码413?
EN

Stack Overflow用户
提问于 2018-05-21 01:57:58
回答 2查看 2.1K关注 0票数 0

我想通过以下方法向我的服务器提交一个数组。我的数组还包含字符串格式的图像(以字符串格式编码)。没有图像字符串,它对我有用。但是,当我添加字符串编码的图像时,它会出现以下错误:

  • E/Volley: 4084 BasicNetwork.performRequest:contacts.php 05-21 14:37:38.643 18773-18773/satsuma.callerid_realcaller /System.err: com.android.volley.ClientError 05-21 14:37:38.644 18773-18773/satsuma.callerid_realcaller /System.err: at contacts.php 05-21 14:37:38.644 18773-18773/satsuma.callerid_realcallerW/System.err: at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:120) 05-21 14:37:38.644 18773-18773/satsuma.callerid_realcaller W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:87)*
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        private void submitContacts(){

        // now here we convert this list array into json string

        Gson gson=new Gson();

        final String newDataArray=gson.toJson(dataArray); // dataarray is list aaray

        final String server_url="http://www.........com/TrueCaller/submit_contacts.php"; // url of server check this 100 times it must be working



        // volley

        StringRequest stringRequest=new StringRequest(Request.Method.POST, server_url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response)
                    {

                        final String result=response.toString();
                        Log.d("response", "result : "+result); //when response come i will log it
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error)
                    {
                        error.printStackTrace();
                        error.getMessage(); // when error come i will log it
                    }
                }
        )
        {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String,String> param=new HashMap<String, String>();
                param.put("array",newDataArray); // array is key which we will use on server side

                return param;
            }
        };
        Vconnection.getnInstance(this).addRequestQue(stringRequest); // vConnection i claas which used to connect volley

    }

数组初始化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 if (phoneC != "") {
                Bitmap bitmap = retrieveContactPhoto(MainActivity.this, phoneC);
                String image = "";
                if (bitmap != null) {
                    image = getStringImage(bitmap);
                }

                Contact_Details dt = new Contact_Details(name, phoneC, UIDD, country_code, image, emailC, adressC);
                dataArray.add(dt);
            }

Contact_Details类如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Contact_Details {
String name;
String phone_no;
String identifier;
String country_code;

public String getCountry_code() {
    return country_code;
}

public void setCountry_code(String country_code) {
    this.country_code = country_code;
}

public String getImage() {
    return image;
}

public void setImage(String image) {
    this.image = image;
}

String image;

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

String email;

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

String address;

public Contact_Details(String name, String phone_no, String identifier, String country_code, String image, String email, String address) {
    this.name = name;
    this.phone_no = phone_no;
    this.identifier = identifier;
    this.country_code = country_code;
    this.image = image;
    this.email = email;
    this.address = address;
}


public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getPhone_no() {
    return phone_no;
}

public void setPhone_no(String phone_no) {
    this.phone_no = phone_no;
}

public String getIdentifier() {
    return identifier;
}

public void setIdentifier(String identifier) {
    this.identifier = identifier;
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-17 22:26:27

下面的代码用于将数组上载到服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void submitContacts() {


    // now here we convert this list array into json string

    Gson gson = new Gson();

    final String newDataArray = gson.toJson(dataArray); // dataarray is list aaray

    final String server_url = "http://www.vvvv.com/Caller/submit_contacts.php"; // url of server check this 100 times it must be working


    // volley

    StringRequest stringRequest = new StringRequest(Request.Method.POST, server_url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    final String result = response.toString();
                    Log.d("response", "result : " + result); //when response come i will log it
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    error.printStackTrace();
                    error.getMessage(); // when error come i will log it
                }
            }
    ) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> param = new HashMap<String, String>();
            param.put("array", newDataArray); // array is key which we will use on server side

            return param;
        }
    };
    Vconnection.getnInstance(this).addRequestQue(stringRequest); // vConnection i claas which used to connect volley


}

Vconnection类的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Vconnection {

private static Vconnection nInstance;
private RequestQueue RQ;
private Context CTX;

private Vconnection(Context context)
{
    CTX=context;
    RQ=getRequestQue();

}

public RequestQueue getRequestQue()
{
    if(RQ==null)
    {
        RQ= Volley.newRequestQueue(CTX.getApplicationContext());
    }
    return RQ;
}
public static synchronized Vconnection getnInstance(Context context)
{
    if(nInstance==null)
    {
        nInstance=new Vconnection(context);
    }
    return nInstance;
}
public <T> void addRequestQue(Request<T> request)
{
    int socketTimeout = 30000;
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
    request.setRetryPolicy(policy);
    RQ.add(request);
}

}

票数 0
EN

Stack Overflow用户

发布于 2018-05-21 02:15:10

是否绝对有必要将Contact_Details数组发送到服务器?是否有只发送一个Contact_Details对象的解决方案?

413错误为Payload Too Large。更多关于该错误的这里

还请验证位图图像Base64字符串转换是否有效。

您可以使用以下类来完成此操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class ImageUtil {
public static Bitmap convert(String base64Str) throws IllegalArgumentException {
    byte[] decodedBytes = Base64.decode(
            base64Str.substring(base64Str.indexOf(",") + 1),
            Base64.DEFAULT
    );

    return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}

public static String convert(Bitmap bitmap) {
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);

    return Base64.encodeToString(outputStream.toByteArray(), Base64.DEFAULT);
}

}

除此之外,您还可以在服务器端检查数据库是否支持Base64长度的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50446303

复制
相关文章
HDFS服役新数据节点与退役旧数据节点
随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。
用户4870038
2021/02/05
7420
HDFS服役新数据节点与退役旧数据节点
如何在集群里服役新节点、退役旧节点(DataNode)
①准备机器,配置好JDK、hadoop的环境变量,在hdfs-site.xml和yarn-site.xml文件中分别配置NameNode和ResourceManager所在主机名 ②待服役成功后,启动datanode和nodemanager进程即可 ③服役了新的DN节点后,可以执行再平衡的命令,这个命令可以将集群中块进行重新平衡分配,实现负载均衡: ./start-balancer.sh
孙晨c
2020/07/14
8340
使用 htaccess 将旧域名 301 重定向到新域名
如果更换了域名,那么为了把原来的域名的权重都转移到新域名上面,最好的方法是 301 重定向,我们可以使用 htaccess 将旧域名重定向到新域名,具体方法如下:
Denis
2023/04/15
4.1K0
单链表判断是否有环和环起始节点
本文讲述了一位面试滴滴研究院暑期实习生的面试经历,包括面试中涉及到的三个问题和解答。首先是单链表判断是否有环的问题,其次是二叉树的中序遍历的问题,最后是找出链表中的环的起始节点并计算环的长度的问题。作者通过详细的解答,展示了面试中的一些技术细节和解决问题的思路。
GavinZhou
2018/01/02
5200
Kubesphere添加新节点
KubeSphere 使用一段时间之后,由于工作负载不断增加,您可能需要水平扩展集群。自 KubeSphere v3.0.0 起,您可以使用全新的安装程序 KubeKey 将新节点添加到集群。从根本上说,该操作是基于 Kubelet 的注册机制。换言之,新节点将自动加入现有的 Kubernetes 集群。KubeSphere 支持混合环境,这意味着新添加的主机操作系统可以是 CentOS 或者 Ubuntu。若要水平扩展多节点集群,操作步骤基本相同。
jwangkun
2021/12/27
1.3K0
Kubesphere添加新节点
KubeSphere 使用一段时间之后,由于工作负载不断增加,您可能需要水平扩展集群。自 KubeSphere v3.0.0 起,您可以使用全新的安装程序 KubeKey 将新节点添加到集群。从根本上说,该操作是基于 Kubelet 的注册机制。换言之,新节点将自动加入现有的 Kubernetes 集群。KubeSphere 支持混合环境,这意味着新添加的主机操作系统可以是 CentOS 或者 Ubuntu。若要水平扩展多节点集群,操作步骤基本相同。
jwangkun
2021/12/27
1.7K0
HDFS添加新节点
在将新节点添加到HDFS之前,必须先为其配置必要的软件和硬件。在新节点上安装Hadoop软件包,并确保其与现有Hadoop集群版本相同。确保新节点的硬件配置与集群中其他节点相似。建议使用相同的操作系统和硬件配置。
堕落飞鸟
2023/05/12
1.1K0
Redis的复制和心跳检测过程,主节点故障时从节点的处理方法
在Redis中,复制功能是通过使用主从模式来实现的。一台Redis服务器(称为主服务器)可以有多个从服务器连接到它。
一凡sir
2023/09/28
4250
Redis的复制和心跳检测过程,主节点故障时从节点的处理方法
由主节点配置从节点从而构建集群
主节点 改名字,改为master,hosts 改hadoop的slaves加四个xml slaves是加一个节点就要改一次 从节点 新建hadoop用户,修改权限,赋予权限 ALL =… 改好主机名,按node01 node02……规则 配好ssh,保证可以通信 关防火墙,iptables stop 关selinux 自ssh可以,主对从可以免密ssh 用scp传jdk和hadoop到从节点的tmp目录下 可能会出现权限问题,使用tmp目录则不要紧,文件夹权限问题 配jdk和hadoop的环境变量 新
ZONGLYN
2019/08/08
7830
【Oracle】RAC添加新节点
rac3节点上安装须要的rpm包,本实验环境使用的是OEL系统,所以使用oracle-validated。
全栈程序员站长
2022/08/27
2.7K0
【Oracle】RAC添加新节点
【Longhorn】能否部署到专用的节点,业务使用其他节点
Longhorn 作为分布式存储,当然是有点复杂的…作为集群的使用者,当然会有一种想法就是能否在集群中只用几个节点部署 Longhorn,万一出问题了,不影响用户在节点上的其他工作负载,就是单纯想隔离了。
runzhliu
2022/04/13
6970
【Longhorn】能否部署到专用的节点,业务使用其他节点
jquery 元素节点操作 - 创建节点、插入节点、删除节点
前面的篇章对于jquery的元素操作大部分是使用html()的方式来操作,这种直接使用字符串创建的方式也是性能最高的。
Devops海洋的渔夫
2019/05/31
9K0
jQuery添加dom节点的方法
一、内部插入DOM: 完整示例1: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>jQuery添加dom节点方法一 -青梅博客</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> </head> <body> <div class="box"> <span>青梅煮码</span> </div>
青梅煮码
2023/01/16
1.6K0
【Groovy】编译时元编程 ( 方法拦截时用到的 AST 语法树节点 MethodNode 节点 | MethodNode 节点分析 | MethodNode 节点中的BlockStatement)
参考 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 ) 三、分析 Groovy 类的 AST 语法树 博客章节 , 分析
韩曙亮
2023/03/30
3060
【Groovy】编译时元编程 ( 方法拦截时用到的 AST 语法树节点 MethodNode 节点 | MethodNode 节点分析 | MethodNode 节点中的BlockStatement)
获取DOM节点的方法汇总
我们都知道,当获得所有节点(如:getElementsByTagName)或者获得所有子元素(如:element.childNodes)时,实际上返回的是包含一些DOM节点的集合,这个集合要么是 HTMLCollection,要么是 NodeList,两者其实都是类数组的对象。
Chor
2019/11/07
4.3K0
php获取所有节点的父节点和子节点
根据子节点获取所有的父节点以及父节点的父节点.. <?php $src = '[{"id":"1","name":"媒体(白名单)","pid":"0"},{"id":"2","name":"党媒公
黄啊码
2020/05/29
6.2K0
单链表的实现,判断是否有环和环的入口,找到链表的中间节点和倒数第k个节点
(adsbygoogle = window.adsbygoogle || []).push({});
chinotan
2019/04/17
4840
给新生成的节点(动态生成节点)绑定事件方法总结
第一种 jquery写法 $('.father').on('click',',child',function(){}) $(document).on('click',',child',function(){}) 第二种 js原生写法 document.querySelector('body').addEventListener('click',function (e) { if(e.target.classList.contains('.child')){ //具体操作 } }) documen
吴裕超
2018/02/28
1.5K0
2025-03-21:统计好节点的数目。用go语言,给定一棵无向树,树中有 n 个节点,节点的标号从 0 到 n - 1,根节点
2025-03-21:统计好节点的数目。用go语言,给定一棵无向树,树中有 n 个节点,节点的标号从 0 到 n - 1,根节点为 0。我们有一个长度为 n - 1 的二维数组 edges,其中 edges[i] = [ai, bi] 表示节点 ai 和节点 bi 之间有一条边。
福大大架构师每日一题
2025/03/21
390
2025-03-21:统计好节点的数目。用go语言,给定一棵无向树,树中有 n 个节点,节点的标号从 0 到 n - 1,根节点
【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )
在上一篇博客 【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 ) 中 , 使用 GroovyConsole 工具分析了
韩曙亮
2023/03/30
1K0
【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )

相似问题

护照局部不适用于多种型号

13

Rails设计.多种型号

12

用于多种型号的表单模型绑定laravel 5.1

11

多种型号的Rails馈送

12

干草堆:一种用于多种型号的searchIndex

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文