2

Androidでhttpsプロトコルを使用してファイルをダウンロードする方法は?私はそれを使おうとしていますが、エラーが発生し続けます。

私のダウンロードコード:

var fileTransfer = new FileTransfer();
          fileTransfer.download(
                task_url,
                fileListDir + fileName,
            function(entry) {
                mylog("download complete: " + entry.fullPath);
            },
            function(error) {
                mylog("download error source " + error.source);
                mylog("download error target " + error.target);
                mylog("upload error code" + error.code);
            });

私のログ

11-19 13:56:13.339:E / FileTransfer(17969):{"target": "/ mnt / sdcard / task1 / Picture_4.jpg"、 "source": "https://91.228.199.95/ksiywFac63f2hs/fotos .gleb / Picture_4.jpg "、" code ":3} 11-19 13:56:13.339:E / FileTransfer(17969):javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:認証用のトラストアンカーパスが見つかりません。11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:477)11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:328)11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony .luni.internal.net.www.protocol.http.HttpConnection。download(FileTransfer.java:486)11-19 13:56:13.339:E / FileTransfer(17969):org.apache.cordova.FileTransfer.execute(FileTransfer.java:88)11-19 13:56:13.339: E / FileTransfer(17969):org.apache.cordova.api.PluginManager $ 1.run(PluginManager.java:231)11-19 13:56:13.339:E / FileTransfer(17969):java.lang.Thread。 run(Thread.java:1019)11-19 13:56:13.339:E / FileTransfer(17969):原因:java.security.cert.CertificateException:java.security.cert.CertPathValidatorException:証明書パスのトラストアンカーが見つかりません。11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:161)11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl。java:664)11-19 13:56:13.339:E / FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(ネイティブメソッド)11-19 13:56:13.339:E /FileTransfer(17969):org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:474)11-19 13:56:13.339:E / FileTransfer(17969):...10詳細11-19 13:56:13.339:E / FileTransfer(17969):原因:java.security.cert.CertPathValidatorException:認証パスのトラストアンカーが見つかりません。11-19 13:56:13.339:E / FileTransfer(17969):org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:207)11-19 13:56:13.339:E / FileTransfer(17969) :java.security.cert.CertPathValidator.validate(CertPathValidator.java:197)11-19 13:56:13.339:E / FileTransfer(17969):組織で。

4

1 に答える 1

4

答えは、古いコルドバをコルドバ 2.2.0 に変更し、コードに true を書き込むことです。

var fileTransfer = new FileTransfer();
      fileTransfer.download(
            task_url,
            fileListDir + fileName,
        function(entry) {
            mylog("download complete: " + entry.fullPath);
        },
        function(error) {
            mylog("download error source " + error.source);
            mylog("download error target " + error.target);
            mylog("upload error code" + error.code);
        }, true);

そして、これは仕事です!!! ありがとうサイモン・マクドナルド!!

于 2012-11-19T14:18:59.140 に答える