完整报错信息为:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
经过排查发现http服务器下载没什么问题,但是配置了CA证书的https安全连接服务器,iOS端没问题,安卓端就直接报这个异常了。
废话不多说,附上解决方法。
需要在安卓项目中react-native-fs目录下修改插件的请求方式。
进入Android/react-native-fs/src/main/java/com.rnfs/Downloader
找到这个方法
private void download
里面就是fs的网络请求设置了
private void download(DownloadParams param, DownloadResult res) throws Exception {
InputStream input = null;
OutputStream output = null;
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection)param.src.openConnection();
ReadableMapKeySetIterator iterator = param.headers.keySetIterator();
while (iterator.hasNextKey()) {
String key = iterator.nextKey();
String value = param.headers.getString(key);
connection.setRequestProperty(key, value);
}
connection.setConnectTimeout(param.connectionTimeout);
connection.setReadTimeout(param.readTimeout);
connectio