【发布时间】:2021-06-29 00:45:37
【问题描述】:
我的 OKHttp 代码运行良好,但有时无法进入 ENQUEUE。它没有显示任何关于它的信息。我正在尝试在 Retrofit 语法中转换相同的代码。任何人都可以帮助我使用正确的语法吗?
file1/2/3下面是图片文件路径。
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("photos1", String.valueOf(file1),
RequestBody.create(MediaType.parse("application/octet-stream"),
new File(String.valueOf(file2)) ))
.addFormDataPart("photos2", String.valueOf(file2),
RequestBody.create(MediaType.parse("application/octet-stream"),
new File(String.valueOf(file3)) ))
.addFormDataPart("photos3", String.valueOf(file3),
RequestBody.create(MediaType.parse("application/octet-stream"),
new File(String.valueOf(file1)) ))
.addFormDataPart("product_name",txtprodname.getText().toString())
.addFormDataPart("description",txtdesc.getText().toString())
.addFormDataPart("product_cost",txtprice.getText().toString())
.addFormDataPart("tax_value",spntax.getSelectedItem().toString())
.addFormDataPart("within_city_cost",txtcostwithincity.getText().toString())
.addFormDataPart("outside_city_cost",txtcostoutsideincity.getText().toString())
.addFormDataPart("user_id",String.valueOf(user_id))
.addFormDataPart("category_name", spncategory.getSelectedItem().toString())
.addFormDataPart("tax_name",taxname)
.addFormDataPart("business_name", business_name)
.addFormDataPart("youtube_link", txtyoutube.getText().toString())
.addFormDataPart("length", txtL.getText().toString())
.addFormDataPart("width", txtW.getText().toString())
.addFormDataPart("height", txtH.getText().toString())
.addFormDataPart("volumetric_weight", txtwt.getText().toString())
.build();
Request request = new Request.Builder()
.url("https://<myip>/api/productapi/")
.method("POST", body)
.build();
client.newCall(request).enqueue(new okhttp3.Callback() .... rest of the code.
我无法弄清楚 Retrofit 的类似语法。任何帮助将不胜感激。
问候, PD
【问题讨论】:
标签: android retrofit retrofit2 okhttp