Когда я загружаю файл вложения, я получаю HTTP-ошибку IIS 403.7

#javascript #android #ssl-certificate #client-certificates

Вопрос:

Я разрабатываю приложения для Android при следующих условиях.

**

  1. Windows 10
  2. Node.js 14.16
  3. Android studio 4.1
  4. Инструменты для сборки Android SDK 30.0.3

**

Когда я установил сертификат клиента и попытался получить файл вложения в своих приложениях, я обнаружил ошибку HTTP 403.7.

Это происходит только в том случае, если я установил сертификат клиента IIS как «Требуется». Затем я увидел файлы журнала IIS, и было записано следующее.

 ●Client Certificate IIS Settings : Require -> NG

2021-06-01 01:38:31 10.0.0.4 GET /app/testsvc/GetAttachmentFile CompCode=testamp;LoginAccount=testaccountamp;FileId=2amp;FileName=添付資料(Word).docxamp;_=1622511492429 443 - 192.168.0.1 Mozilla/5.0 (Linux; Android 11; sdk_gphone_x86 Build/RSR1.201013.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 - 200 0 0 658
2021-06-01 01:38:31 10.0.0.4 GET /app/test.svc/GetAttachmentFile CompCode=testamp;LoginAccount=testaccountamp;fileId=2amp;fileName=fileName 443 - 192.168.0.1 Dalvik/2.1.0 (Linux; U; Android 11; sdk_gphone_x86 Build/RSR1.201013.001) - 403 7 5 505

●Client Certificate IIS Settings : Ignore -> OK

2021-06-01 01:41:05 10.0.0.4 GET /app/test.svc/GetAttachmentFile CompCode=testamp;LoginAccount=testaccountamp;FileId=1amp;FileName=添付資料(PDF).pdfamp;_=1622511646749 443 - 192.168.0.1 Mozilla/5.0 (Linux; Android 11; sdk_gphone_x86 Build/RSR1.201013.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 - 200 0 0 1171
2021-06-01 01:41:05 10.0.0.4 GET /app/test.svc/GetAttachmentFile CompCode=testamp;LoginAccount=testaccountamp;fileId=1amp;fileName=fileName 443 - 192.168.0.1 Dalvik/2.1.0 (Linux; U; Android 11; sdk_gphone_x86 Build/RSR1.201013.001) - 200 0 0 218
 

Кто-нибудь знает, как устранить эту ошибку и исправить настройки ?
Заранее спасибо.

Пример источника ниже.


 function getAttachmentFileSuccess(result) {
    var url = decodeURIComponent(common.ConnectUrl)   "test.svc/GetAttachmentFile?CompCode="   
        common.CompCode   "amp;LoginAccount="   common.LoginAccount   "amp;fileId="   fileDataCond.FileId;
    if (platform.substr(0,6) == "iPhone" || platform.substr(0,3) == "iOS") {
        url = url   "amp;fileName="   fileDataCond.FileName;
        window.open(encodeURI(url), "_blank");
    } else {
        url = url   "amp;fileName=fileName";
        var fileTransfer = new FileTransfer();
        var filePath = "/sdcard/app/"   fileDataCond.FileName;
        fileTransfer.download(
                encodeURI(url),
                filePath,
                function(entry){
                    navigator.notification.alert(
                            "Success",  // message
                            function(){},         // callback
                            'Success',            // title
                            'OK');
                },
                function(error){
                    navigator.notification.alert(
                            'Failed',  // message
                            function(){},         // callback
                            'Error',            // title
                            'OK');
                }
        );
    } }