引导程序文件输入 - 限制文件类型

时间:2015-10-20 21:51:36

标签: javascript jquery

为我所指导的公司开发的代码使用Krajee的Bootstrap文件输入。在调用此函数的地方,allowedFileExtensions设置为仅允许jpg,gif和png。但是,单击浏览按钮时,列表(如果允许的图像文件类型)显示大约十二种图像类型。如果选择了不属于这三种类型的那个,例如svg,则系统会显示一条错误消息,指出不允许使用该文件类型。

虽然这确实有效,但浏览应该只允许选择所选的类型。需要哪些附加参数和/或其他更改,以便浏览窗口将选择限制为所选类型?

如果重要:我在同时使用Firefox和IE的PC上看到了这种行为。

2 个答案:

答案 0 :(得分:14)

  

虽然这肯定有效,但浏览应该只允许选择   要选择的类型。什么附加参数和/或其他参数   需要进行更改,以便浏览窗口将选择限制为   选择的类型?

尝试使用input type="file"属性为accept元素设置接受的文件扩展名类型,其值为文件扩展名,以逗号分隔。只有定义为accept属性值的文件扩展类型才应显示在"打开文件"对话框



<input type="file" accept=".jpg,.gif,.png" />
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这是我使用的。

//update file name text box with selected filepath and file
$('#FileUpload1').change(function ()
{
    var filename = $(this).val();

    $('#txtFileName').val(filename);

    var fileExtension = ['xlsx', 'xls', 'csv'];
    if ($.inArray(filename.split('.').pop().toLowerCase(), fileExtension) == -1)
    {
        $('#lblWarning').show();
        $('#lblWarning').text("Only 'xlsx', 'xls', 'csv' formats are allowed.");
    }
    else
    {
        $('#lblWarning').hide();
    }


});