0

我想上传带有小写扩展名的文件,即使用户选择了带有大写扩展名的文件。我使用<input type="file"/>文件选择。

这是一个例子:


(abc.CSV), (def.cSV), (ghi.cSv)


(abc.csv), (def.csv), (ghi.csv)

下面是文件选择器的屏幕截图。

文件选择器的屏幕截图

4

3 回答 3

2

由于安全限制,您无法在客户端操作文件输入字段的实际值。

您唯一的选择是在服务器端处理此问题。


您只能读取其值。如果您只是希望显示的文本为小写,那么有很多方法可以做到,但是上传的文件仍然会保留原始名称,那么您必须在服务器端对其进行处理。

于 2013-04-26T12:25:24.560 回答
1

如果您想检查用户是否选择了具有适当小写文件扩展名的文件,您可以使用以下代码段来设计您的工作。

 var file = $("#fileupload").val();

        if (file == '') {
                $("#errDiv").html("Please select a file first.");
                e.preventDefault();
                return false;
        }
        else {
                var ext = file.split('.').pop().toLowerCase();
                if ($.inArray(ext, ['xlsx']) == -1) {    //not .XLsx or otherwise
                $("#errDiv").html("Please select valid file type(xlsx).");
                return false;
            }

最后,你必须真正检查后端上传的文件,看看它是否是一个有效的扩展名,最重要的是,一个有效的文件。

于 2013-04-26T12:30:29.193 回答
0

您可以使用 CSS 文本转换属性。

 <!DOCTYPE html>
    <html>
    <head>
    <style>
    input.lowercase{text-transform:lowercase;}
    </style>
    </head>

    <body>

    FILENAME <input class = "lowercase" id ="filename" type="text" name="filename">

    </body>
    </html>
于 2013-04-26T12:28:39.987 回答