【问题标题】:"Multipart body must have at least one part"“多部分主体必须至少有一个部分”
【发布时间】:2017-06-16 14:12:12
【问题描述】:

在之前提出的问题 (react-native upload pictures on android) 中描述了带有参数“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$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;

【问题讨论】:

    标签: android react-native proguard okhttp3


    【解决方案1】:

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

    我试图将 body 传递为空 FormData,所以关于 body 的消息没有任何部分。

    【讨论】:

      【解决方案2】:
       val multipartBody = MultipartBody.Builder().setType(MultipartBody.FORM)
                      .addFormDataPart("", "")
                      .build().part(0)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 2017-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多