我有以下代码:
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label for="attachments">Attach a file</label>
<input type="file" id="attachments" accept=".doc,.gif,.jpeg,.jpg,.pdf,.png,.xls,.xlsx,.zip" name="attachments" class="form-control">
</div>
</div>
</div>
&#13;
它在Windows上的chrome浏览器中工作正常,但它在macbook的Safari浏览器中不起作用。
对此有何想法?
答案 0 :(得分:0)
确实,Safari似乎不接受文件的扩展名为accept
属性...
它可能被视为一个错误,因为他们会对这个确切的文件扩展名进行MIME检测...)
我现在看到的唯一解决方法是使用完整的MIME类型 但是这可能会导致某些浏览器将操作系统的MIME类型字典用于...文件扩展名的某些问题。
所以这里最好的做法是添加MIME和扩展。
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label for="attachments">Attach a file</label>
<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="attachments" class="form-control">
</div>
</div>
</div>
另请注意,此accept
属性应仅作为方便用户了解所需文件类型的方式,并且绝对不能检查您将获得哪种文件类型。你的实际列表看起来如此多样化,使用它没什么意义。