javascript - 当我下载附件文件时,我收到 IIS HTTP 错误 403.7
问题描述
我正在以下条件下开发 android 应用程序。
**
- 视窗 10
- 节点.js 14.16
- 安卓工作室 4.1
- Android SDK 构建工具 30.0.3
**
当我安装客户端证书并尝试在我的应用程序中获取附件文件时,我发现了 HTTP 错误 403.7。
仅当我将 IIS 客户端证书设置为“要求”时才会发生这种情况。然后我看到了 IIS Log Files 并记录了以下内容。
●Client Certificate IIS Settings : Require -> NG
2021-06-01 01:38:31 10.0.0.4 GET /app/testsvc/GetAttachmentFile CompCode=test&LoginAccount=testaccount&FileId=2&FileName=%E6%B7%BB%E4%BB%98%E8%B3%87%E6%96%99%EF%BC%88Word%EF%BC%89.docx&_=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=test&LoginAccount=testaccount&fileId=2&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=test&LoginAccount=testaccount&FileId=1&FileName=%E6%B7%BB%E4%BB%98%E8%B3%87%E6%96%99%EF%BC%88PDF%EF%BC%89.pdf&_=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=test&LoginAccount=testaccount&fileId=1&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 + "&LoginAccount=" + common.LoginAccount + "&fileId=" + fileDataCond.FileId;
if (platform.substr(0,6) == "iPhone" || platform.substr(0,3) == "iOS") {
url = url + "&fileName=" + fileDataCond.FileName;
window.open(encodeURI(url), "_blank");
} else {
url = url + "&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');
}
);
} }
解决方案
推荐阅读
- ios - 在 Mac App Store 上下载应用程序时出现“找不到具有指定主机名的服务器”错误
- r - 如何在 dplyr summarise() 中排除 NA 值?
- python-3.x - 将 dict 转换为 numPy 数组
- python - 使用 Scrapy 递归地从 href 中提取文本
- r - pdfsearch "pdf 中无法识别的文本"
- python - 插入网页的音频文件没有采取行动,请在此处帮助我
- javascript - 确定字符串中的组
- mysql - 启用 innodb_dedicated_server 对性能有好处吗?
- java - 如何在 mac 上授予使用 jpackage 全盘访问权限打包的 java 应用程序?
- reactjs - 反应修改道具以在子组件中按排序顺序显示行