gpt4 book ai didi

javascript - 验证数组中的文件扩展名

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:16:46 26 4
gpt4 key购买 nike

我已经搜索了 Web 和 SO 以通过多种不同的方式自己解决这个问题,但没有成功。

如果文件扩展名是否被接受,我想以与“outpush.push”语句相同的方式显示一条消息。

这需要从可接受的文件扩展名(例如 JPG、PNG、GIF)的 ARRAY 中获取,并检测文件扩展名是否为大写并接受它(将其转换为小写)。

这是我的脚本。想知道如何以及在脚本中的什么地方可以实现这样的功能?

function handleFileSelect(evt) {

var files = evt.target.files; // FileList object
var max_size = 5120; // Max file size

var output = [];
for (var i = 0, f; f = files[i]; i++) {

output.push('<li><strong><font size="3" color="FFFFFF">FILE: ', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</font></li>');

if(f.size > max_size) {

output.push('<font size="5" color="FFFF00"><b>ERROR!! Sorry, but the file that you selected is too large. Please upload a file that is no larger than ' + max_size + ' KB.');
}

if(f.size < max_size) {
output.push('<font size="5" color="FFFF00"><b>FILE SIZE OK. CLICK TO SEND button below.</font>');

output.push('<font size="5" color="FFFFFF"><hr><b>IMPORTANT: Do not close this window. Wait till you see the next page when finished uploading your file.</font>');

document.getElementById("myButton").style.display="all";
}

}

document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}

document.getElementById('files').addEventListener('change', handleFileSelect, false);

最佳答案

您的代码有几个问题。

1) 你应该使用 if-else , 而不是多个 if声明:

if (f.size > max_size) {
// ...
} else {
// ...
}

2) all不是 display 的有效值, 使用 blockinline :

document.getElementById("myButton").style.display = "block";

3) 您使用的是过时的 <font>标签。相反,使用样式和 CSS。在你的情况下,我会使用类,一个用于 msg , 以及 error 的额外类(class), important , 和 ok .

4) 要进行数组检查,只需使用 indexOf() :

var extensions = ["jpg", "jpeg", "txt", "png"];  // Globally defined

...

// Get extension and make it lowercase
// This uses a regex replace to remove everything up to
// and including the last dot
var extension = f.name.replace(/.*\./, '').toLowerCase();

if (extensions.indexOf(extension) < 0) { // Wasn't found
output.push('<li class="msg error">ERROR!! Sorry, but the file that you selected is not a valid file type. Valid types are: ', valid, '</li>');
} else ...

演示:http://jsfiddle.net/jtbowden/L2Gps/

关于javascript - 验证数组中的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com