1

由于 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有问题吗?

预先感谢您的合作。

4

0 回答 0