为什么我的功能不显示文件扩展名
Why my function does not showing file extension?
我试图在使用javascript上传期间验证文件的函数,我已经做到了,一切都很好,工作正常,但它没有在警报中显示扩展名(我想显示文件扩展名是警报),任何人都可以让我知道问题在哪里?我已经成功地验证了大小,现在我想验证扩展。
Javascriptfunction showFileSize() {
var rt = true;
if (!window.FileReader) {
bodyAppend("p", "The file API isn't supported on this browser yet.");
rt = false;
}
inputs = document.getElementsByTagName('input');
for(var ind=0;ind<inputs.length;ind++){
var sFileName = inputs.item(ind).files[0].name;
var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1].toLowerCase();
if(inputs.item(ind).type=='file'){
if(!inputs.item(ind).files[0]){
alert("Please select file "+(ind+1)+" before clicking 'Load'");
rt = false;
}else if(inputs.item(ind).files[0].size>6000000){
console.log(inputs.item(ind).files[0].size);
alert("File size should be less then 6MB!"+sFileExtension);
rt = false;
}
}
}
//If Function True
if(rt == true){
doForm(
'{var name=form_controller}',
'manageForm',
'1',
0,
0,
1);
}
}
首先检查sFileName
的期望值(例如alert(sFileName);
)。
然后将扩展名拆分为:
var sFileExtension = sFileName.split('.').pop().toLowerCase();
试着把你的代码改成这样:
var sFileExtension = sFileName.split('.');
console.log(sFileExtension); //make sure it generates the right array
sFileExtension = sFileExtension[sFileExtension.length - 1].toLowerCase();
alert(sFileExtension);
另一种获取Array最后一个元素的方法是使用.pop(),如下所示
var sFileExtension = sFileName.split('.').pop().toLowerCase();
alert(sFileExtension);
相关文章:
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 在上传之前,我可以在代码中的哪里将文件扩展名更改为小写
- TypeScript解释了各种文件扩展名
- 在javascript中检查文件扩展名的问题
- 如何使用office.js检查未保存文件的具体文件扩展名
- 用于检查文件扩展名不工作的Javascript If语句
- 忽略文件扩展名的正则表达式
- Apache poi XSSF创建Excel文件-Create返回格式或文件扩展名无效的空文件
- 可以't在不提供文件扩展名的情况下导入TypeScript模块
- 根据文件扩展名应用CssClass
- 导入文件之前请检查文件扩展名
- 忽略文件扩展名jQuery之后的查询字符串
- 如何在Fine Uploader中隐藏文件扩展名
- 客户端的jQuery文件扩展名验证
- 文件扩展名正则表达式的节点参数
- 如何在Visual Studio 2010/2012中将自定义文件扩展名注册到JavaScript编辑器
- 在文件扩展名之前反复添加图像大小
- 为什么我的功能不显示文件扩展名
- 在浏览器中使用Node.JS显示json文件,不带文件扩展名
- VScode编辑器.xml文件扩展名显示html文件内的编辑器