我想上传带有小写扩展名的文件,即使用户选择了带有大写扩展名的文件。我使用<input type="file"/>
文件选择。
这是一个例子:
前
(abc.CSV), (def.cSV), (ghi.cSv)
后
(abc.csv), (def.csv), (ghi.csv)
下面是文件选择器的屏幕截图。
由于安全限制,您无法在客户端操作文件输入字段的实际值。
您唯一的选择是在服务器端处理此问题。
您只能读取其值。如果您只是希望显示的文本为小写,那么有很多方法可以做到,但是上传的文件仍然会保留原始名称,那么您必须在服务器端对其进行处理。
如果您想检查用户是否选择了具有适当小写文件扩展名的文件,您可以使用以下代码段来设计您的工作。
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;
}
最后,你必须真正检查后端上传的文件,看看它是否是一个有效的扩展名,最重要的是,一个有效的文件。
您可以使用 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>