将文件拖放到文件字段“接受”属性中时无法正常工作

Mid*_*993 4 html forms form-fields

我有这样的文件字段:

<input type="file" name="pic" accept="image/*">
Run Code Online (Sandbox Code Playgroud)

当我单击并选择文件时它工作正常,但当我将文件拖放到其中时它接受所有类型的文件。

任何想法 ?

仅供参考:我已经通过添加服务器端验证解决了这个问题。

Enn*_*nno 5

上面的答案并没有真正回答问题,它没有使用接受值,它只是验证图像。如果接受值类似于“text/plain”,它将失败。

您可以使用此验证函数来验证接受字符串上的文件类型:

verifyAccept = function( file-type, accept ) {
    var type-regex = new RegExp( accept.replace( /\*/g, '.\*' ).replace( /\,/g, '|' ) );
    return type-regex.test( file-type );
}
Run Code Online (Sandbox Code Playgroud)

这里提到:检查所选文件是否与 <input> 标记上的接受属性匹配