Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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
Java 如何在android studio中使用多部分/表单数据okhttpclient请求post字符串_Java_Android_Okhttp - Fatal编程技术网

Java 如何在android studio中使用多部分/表单数据okhttpclient请求post字符串

Java 如何在android studio中使用多部分/表单数据okhttpclient请求post字符串,java,android,okhttp,Java,Android,Okhttp,我一直在使用我的代码,我需要帮助,我想向服务器请求具有多部分/表单数据内容类型的post字符串数据 我的代码: strCode = barcodeText.getText().toString(); selected = "1"; strRemark = remarkText.getText().toString(); OkHttpClient client = new OkHttpClient().newBuilder() .build()

我一直在使用我的代码,我需要帮助,我想向服务器请求具有多部分/表单数据内容类型的post字符串数据

我的代码:

strCode = barcodeText.getText().toString();
selected = "1";
strRemark = remarkText.getText().toString();

OkHttpClient client = new OkHttpClient().newBuilder()
                .build();
        MediaType mediaType = MediaType.parse("multipart/form-data");
        RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
                .addFormDataPart("barcode",strCode)
                .addFormDataPart("status", selected)
                .addFormDataPart("remark",strRemark)
                .build();
        Request request = new Request.Builder()
                .url(url + id_product)
                .method("POST", body)
                .addHeader("Content-Type", "multipart/form-data; boundary=<calculated when request is sent>")
                .addHeader("Authorization", "Bearer" + token)
                .addHeader("Accept", "application/json")
                .build();
        try {
            Response response = client.newCall(request).execute();
            String strRespone = response.toString();
            String jsonData = response.body().string();
            JSONObject Jobject = new JSONObject(jsonData);
            String status = Jobject.getString("status");
            String header = Jobject.getString("status");
            message = Jobject.getString("massage");
        } catch (IOException | JSONException e) {
            e.printStackTrace();
        }
strCode=barcodeText.getText().toString();
已选择=“1”;
stremark=remarkText.getText().toString();
OkHttpClient客户端=新的OkHttpClient().newBuilder()
.build();
MediaType MediaType=MediaType.parse(“多部分/表单数据”);
RequestBody body=new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart(“条形码”,strCode)
.addFormDataPart(“状态”,选中)
.addFormDataPart(“备注”,STREMARK)
.build();
Request Request=newrequest.Builder()
.url(url+id\u产品)
.方法(“后”,正文)
.addHeader(“内容类型”,“多部分/表单数据;边界=”)
.addHeader(“授权”、“持有人”+令牌)
.addHeader(“接受”、“应用程序/json”)
.build();
试一试{
Response=client.newCall(request.execute();
字符串strRespone=response.toString();
String jsonData=response.body().String();
JSONObject Jobject=新的JSONObject(jsonData);
字符串状态=Jobject.getString(“状态”);
字符串头=Jobject.getString(“状态”);
message=Jobject.getString(“按摩”);
}捕获(IOException | JSONException e){
e、 printStackTrace();
}
我总是收到失败的回复。响应称所有my字段(strCode、selected和stremark)的值为空

“状态”:“失败”,
“按摩”:“条形码字段是必需的。
状态字段是必需的。
标记字段是必需的。”
为什么我要使用多部分/表单数据来发布字符串,因为下一步我也要发布文件位图
"status": "failed",
"massage": "The barcode field is required.<br/>The status field is required.<br/>The remarkfield is required."