Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓系统改型-“安卓系统改型”;“请求实体太大”;错误_Android_Node.js_Http_Retrofit_Retrofit2 - Fatal编程技术网

Android 安卓系统改型-“安卓系统改型”;“请求实体太大”;错误

Android 安卓系统改型-“安卓系统改型”;“请求实体太大”;错误,android,node.js,http,retrofit,retrofit2,Android,Node.js,Http,Retrofit,Retrofit2,我正在向node.js express服务器发送一个经过编码的(base64)图像,该图像包含25000个字符。但当发送请求时,服务器会给出“请求实体太大”错误。我认为,这个错误取决于Android请求,因为我可以用邮递员发送相同的请求 以下是改装客户端: import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; public class ApiClient { private st

我正在向node.js express服务器发送一个经过编码的(base64)图像,该图像包含25000个字符。但当发送请求时,服务器会给出“请求实体太大”错误。我认为,这个错误取决于Android请求,因为我可以用邮递员发送相同的请求

以下是改装客户端:

import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class ApiClient {
    private static final String main_url = "http://xxxxxxxxxxxxxxxxxxxxxxxx/";
    private static Retrofit retrofit = null;

    public static Retrofit getRetrofit() {
        if(retrofit == null){
            retrofit = new Retrofit.Builder()
                    .baseUrl(main_url)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        return retrofit;
    }
}
以及请求:

@FormUrlEncoded
@POST("api/updateStudentInfo/")
Call<Bts> updateStudent(@Field("StudentId") String id,
                          @Field("StudentName") String name,
                          @Field("StudentSurname") String surname,
                          @Field("ParentName") String parentName,
                          @Field("ParentSurname") String parentSurname,
                          @Field("ParentEmail") String parentEmail,
                          @Field("LicencePlate") String licencePlate,
                          @Field("Address") String address,
                          @Field("ParentPhone") String phone,
                          @Field("StudentPhoto") String photo);
@FormUrlEncoded
@POST(“api/updateStudentInfo/”)
调用updateStudent(@Field(“StudentId”)字符串id,
@字段(“StudentName”)字符串名称,
@字段(“学生姓氏”)字符串姓氏,
@字段(“ParentName”)字符串ParentName,
@字段(“ParentName”)字符串ParentName,
@字段(“ParentEmail”)字符串ParentEmail,
@字段(“许可牌”)字符串许可牌,
@字段(“地址”)字符串地址,
@字段(“父电话”)字符串电话,
@字段(“学生照片”)字符串照片;

如果您使用的是主体解析器,您可以尝试在服务器端增加请求限制。示例:app.use(bodyParser.json({limit:'1mb'}));更多详情:@A.OnurÖzcan我可以通过邮递员发布相同的请求:/n它不受限制。而且我已经做了。事实上我看到了你关于邮递员的便条。但此响应正在从服务器返回。所以,我认为它必须与服务器相关。(邮递员的请求mime类型可能不同)我建议你们应该以正确的方式增加限制。urlEncoded({type:'*/x-www-form-urlEncoded',limit:'10mb'});顺便问一下,为什么不使用@Multipart注释呢?您可以查看“表单编码和多部分”部分。我这样问是因为文件通常是以多部分类型发送的。@A.OnurÖzcan我解决了这个问题。非常感谢你。艾瓦拉。。。