React-native 0.62 fetch請求上傳圖檔失敗
環境:
rn版本:0.62.0
問題描述:
Android使用fetch/xhr 請求上傳圖檔一直出現 Network request failed,進行其他正常請求都沒問題
解決辦法:
(測試環境)找到項目目錄:
android/app/src/debug/java/com/maxyride/app/drivers/ReactNativeFlipper.java
修改(注釋掉43行):
38 NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
39 NetworkingModule.setCustomClientBuilder(
40 new NetworkingModule.CustomClientBuilder() {
41 @Override
42 public void apply(OkHttpClient.Builder builder) {
43 // builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
44 }
45 });
46 client.addPlugin(networkFlipperPlugin);
(正式環境)當然在打包時您可能還需要做一些其他的改動:
注釋掉:
android\app\src\main\java\com\xxxxx\MainApplication.java
中onCreate方法中的:
initializeFlipper(this,getReactNativeHost().getReactInstanceManager());
問題原因:
一開始也百思不得姐,為什麼突然不能上傳圖檔了,然後在其他低版本中都是可以的,然後各種百度,沒有找到解決辦法,最終隻能去github是試一下,果然在上邊找到了對應的問題:
這是由于Flipper網絡插件引起的
具體這個Flipper是幹什麼的,有興趣的可以看一下官方文檔吧:
https://fbflipper.com/
當然也有的大神反應說将Flipper 版本更新到0.45以後也會解決不能上傳檔案的問題,這個也可以試一下
最後附上該問題在github的位址:
https://github.com/facebook/react-native/issues/28551