"多部分机构必须至少有一部分"

时间:2017-06-16 14:12:13

标签: android react-native proguard okhttp3

在先前提出的问题(react-native upload pictures on android)中描述了使用param" FormData"的请求,但我请求了没有数据的GET请求并得到了相同的消息!

react-native app与ProGuard enabled = true

应用程序在第一次请求时崩溃。

06-16 14:00:30.971: E/AndroidRuntime(14321): java.lang.IllegalStateException: Multipart body must have at least one part.
06-16 14:00:30.971: E/AndroidRuntime(14321):    at okhttp3.MultipartBody$Builder.build(SourceFile:327)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.modules.network.NetworkingModule.sendRequest(SourceFile:309)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at java.lang.reflect.Method.invoke(Native Method)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at java.lang.reflect.Method.invoke(Method.java:372)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.bridge.BaseJavaModule$b.a(SourceFile:345)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.cxxbridge.JavaModuleWrapper.invoke(SourceFile:136)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at android.os.Handler.handleCallback(Handler.java:739)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at android.os.Handler.dispatchMessage(Handler.java:95)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.bridge.queue.a.dispatchMessage(SourceFile:31)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at android.os.Looper.loop(Looper.java:135)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(SourceFile:196)
06-16 14:00:30.971: E/AndroidRuntime(14321):    at java.lang.Thread.run(Thread.java:818)

更新:这是错误的部分,其中this._query为空对象:

let fd = new FormData;
forEach(this._query, (value, key) => {
    fd.append(key, value)
});

params.body = fd;

1 个答案:

答案 0 :(得分:2)

  

Multipart body必须至少有一个部分。   此消息是关于从JavaScript代码传递给Java中的替代函数的fetch函数的错误参数。

我尝试将body传递为空FormData,因此关于body的消息没有任何部分。