由于 macOS High Sierra 和 Mojave 上的 Safari 11 更新,当 input[type=file] 字段选择了文件(在我的表单中是必需的)时,我的 Web 应用程序中的提交失败。
按下提交按钮并等待一段时间后,会显示 safari-resource: /ErrorPage.html。
我是 HTTPS 并通过 HTTPS 提交到同一域(和服务器)上的位置。在我们的测试环境中,我们通过 HTTP(不是 HTTPS)进行连接,但在这种情况下它运行良好。
在11更新之前,选择文件时提交就好了。我们已经确认在 Safari 12 中也出现了同样的问题。最新版本的 Chrome 和 IE 没有问题(即可以上传)。
我的代码的相关部分:
的HTML:
<form id="upload" name="upload" method="POST" enctype="multipart/form-data" th:action="@{/hoge/fuga}">
<input type="file" id="uplfile" name="uploadFile" accept=".pdf" />
<button id="upl_btn" type="button">upload</button>
</form>
JS:
$("#upl_btn").on('click', function() {
if (!IsSuccessPreCheck()) { // Checking file format etc...
return false;
}
document.upload.submit(); // In the Web Inspector, I can confirm that I can go this far.
});
我做错了什么,Safari有问题吗?
预先感谢您的合作。