如何重新加载在 <input type="file"> 中选择的文件

Mig*_*ork 5 html javascript filereader

我正在开发一个加载 SVG 文件并将其转换为 JSON 的工具。

表格如下所示:

<div>
    <input type="file" id="filepicker" accept="image/svg+xml,.svg">
    <button type="button" id="load-file">Load file</button>
</div>
Run Code Online (Sandbox Code Playgroud)

加载中:

function loadFile () {
    var filepicker = $('#filepicker')[0];
    if (!filepicker.files.length) return;
    var reader = new window.FileReader();
    var file = filepicker.files[0];
    reader.onload = function (e) {
        var txt = e.target.result;
        processSVG(txt);
    };
    reader.readAsText(file)
}

$('#load-file').on('click', loadFile);
$('#filepicker').on('change', loadFile);
Run Code Online (Sandbox Code Playgroud)

这是通过自动加载用户选择的文件来实现的。但我想让“加载”按钮刷新文件,即从磁盘再次加载它。用例是您在 Inkscape 中打开 SVG 文件并保存它,然后单击“加载”按钮,它将显示在浏览器中。

由于某种原因,单击“加载”按钮不会可靠地重新加载文件 - 我让它工作了几次,但其他时候它只是拒绝执行任何操作,就像文件被缓存一样。这可能吗?如果可能的话,如何实现?

(我知道这在带有文件锁的 Windows 上可能是不可能的,没关系。我需要它在 Linux 和 Mac 上工作)