文件类型的输入事件未在Safari浏览器中触发

问题描述 投票:0回答:1

我正在使用AJAX和jQuery上传文件。它在Chrome和Firefox中运行良好,但我遇到的问题是在Safari中。我试图调试它,但是当我上传文件时调试器没有停止。

<input type="file" class="file_input" name="myfile"/>
$(document).on('input', '.file_input', function() {
  var that = $(this);
  var formData = new FormData();
  formData.append("userfile", this.files[0]);
  showLoader();

  $.ajax({
    cache: false,
    headers: {
      'X-CSRF-Token': _token
    },
    url: base_url + "controller/action",
    type: 'POST',
    data: formData,
    contentType: false,
    processData: false,
    success: function(data) {
      that.closest('tr').find('.document').empty();
      hideLoader();
    }
  });
});
jquery safari
1个回答
0
投票

尝试在输入中设置accept属性。因此,最好的做法是在输入中同时添加MIME和扩展名。

<input
    type="file"
    id="attachments" 
    accept="application/msword,image/gif,image/jpeg,application/pdf,image/png,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/zip,.doc,.gif,.jpeg,.jpg,.pdf,.png,.xls,.xlsx,.zip" 
    name="myfile"
    class="file_input"
>
© www.soinside.com 2019 - 2024. All rights reserved.