"Multipart body must have at least one part"
"Multipart body must have at least one part"
在之前的问题 () 中描述了带有参数 "FormData" 的请求,但我请求了没有数据的 GET 请求并得到了相同的消息!
启用 ProGuard 的 react-native 应用 = 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.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;
Multipart body must have at least one part.
This message is about wrong arguments for fetch
function passed from JavaScript code to alternative function in Java.
我试图将 body 传递为空 FormData,所以关于 body 的消息没有任何部分。
val multipartBody = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("", "")
.build().part(0)
在之前的问题 (
启用 ProGuard 的 react-native 应用 = 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.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;
Multipart body must have at least one part. This message is about wrong arguments for
fetch
function passed from JavaScript code to alternative function in Java.
我试图将 body 传递为空 FormData,所以关于 body 的消息没有任何部分。
val multipartBody = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("", "")
.build().part(0)