Javascript AngularJS HTML输入文件限制为Safari中的文件格式
我使用下面的代码来限制用户上传文件格式,即在上传对话框中,他只能看到那些特定的文件 type=“file”accept=“.pdf、.jpg、.jpeg、.jpe、.jfif、.tif、.doc、.docx、.xls、.xlsx、.csv” 它在Chrome、Mozilla和IE9及以上版本中运行良好。但这在IE8和Safari中不起作用Javascript AngularJS HTML输入文件限制为Safari中的文件格式,javascript,html,angularjs,safari,internet-explorer-8,Javascript,Html,Angularjs,Safari,Internet Explorer 8,我使用下面的代码来限制用户上传文件格式,即在上传对话框中,他只能看到那些特定的文件 type=“file”accept=“.pdf、.jpg、.jpeg、.jpe、.jfif、.tif、.doc、.docx、.xls、.xlsx、.csv” 它在Chrome、Mozilla和IE9及以上版本中运行良好。但这在IE8和Safari中不起作用 如何在IE8和Safari中进行限制?通常最好按mime类型而不是文件扩展名进行检查,因为文件名可以更改为任何内容。这也是accept属性的标准 特别是在您的
如何在IE8和Safari中进行限制?通常最好按mime类型而不是文件扩展名进行检查,因为文件名可以更改为任何内容。这也是accept属性的标准 特别是在您的示例中,您希望执行以下操作:
如果您想要更大的灵活性,还可以执行类似于accept=“image/*,video/*”
的操作来接受所有图像和视频类型
有关mime类型及其相应文件扩展名的列表,请参阅。我正在浏览此链接:但似乎无法根据我的要求对其进行修改。当我使用accept=“application/pdf”时,它可以工作,但当我从JSON对象应用值时,它显示为“.application/pdf”。我正在从JSON对象加载accept值,比如allowedextension=['pdf'],然后在页面上作为accept={{allowedextension}}加载,最后将其注入为accept=“.aaapplication/pdf”Hmmm,据我所知,只要控制器中有$scope.allowedextension=“application/pdf”,您就应该能够这样做;我用了同样的。但当页面呈现时,它将显示为accept=“.application/pdf”,其中的哪一个accept不起作用,而不是这个,如果我直接将其作为accept=“application/pdf”插入页面,那么它就可以正常工作。我不知道在这种情况下DOM是如何呈现的,额外的字符“.”即将出现:(