Android 的 Firefox 输入文件 onchange 在使用相机时不会触发

Firefox for Android input file onchange doesn't trigger when using camera

我正在制作一张图片,当图片被 selected 时应该会自动上传。

HTML

<form method="post" action="{{ bucket }}" enctype="multipart/form-data" id="pic-form">
    <label>
    <img src="placeholder.png" class="photo"/>
    <input type="file" name="file" required id="pic-file" accept="image/"/>
    </label>
    <input type="submit" value="Upload" id="submit-btn"/>
</form>

JS:

$('#pic-file').on('change', function(evt){
    $('#pic-form').submit();
});

它在桌面上运行良好,在我的 phone 上它也会在我 select 来自我的库的图片时触发,但当我 select 来自相机时不会触发。

我在 accept 参数上有一个错误。在我的实际代码中,我有 "image/;capture=camera" ,其中 HTML 规范说它是一个逗号分隔的列表。我不得不更改为 "image/,capture=camera"。最后我得到了这个:

<input type="file" name="file" 
    required id="pic-file" accept=".jpg,.jpeg,.png,capture=camera"/>