我正在使用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();
}
});
});
尝试在输入中设置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"
>