android - "Multipart body must have at least one part"

标签 android react-native proguard okhttp

在之前的问题 (react-native upload pictures on android) 中描述了带有参数“FormData”的请求,但是我请求了没有数据的 GET 请求并得到了相同的消息!

react-native app with 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;

最佳答案

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 的消息没有任何部分。

关于android - "Multipart body must have at least one part",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44591453/

相关文章:

java - 首次 Scala 构建后 Eclipse 无法运行

android - 如何使用 Eclipse + Proguard "run"导出的 Android 应用程序?

android - 绘图 GL_POINTS

Android:如何保存一个JSON文件,让你在断电后仍能保留数据?

android - 带有 onOptionmenu 项的自定义组件工具栏 fragment

javascript - 创建一个弯曲的底部导航(实现之前)

android - 是否可以同时跟踪 Android 和 iOS 应用程序的下载情况?

javascript - React Native Firebase 仅获取一项数据

javascript - 可触摸的不透明度功能在应用程序启动时立即调用