我想做什么?
我尝试使用输入类型="文件"选择文件后验证文件。标签。其中一项测试是确保文件名长度少于200个字符。
到目前为止我做了什么?
http://jsfiddle.net/joanferns00/ajeec780/4/ 当我尝试上传以下示例文件时,(文件名长度为230的文件) 234_aaaaa6JHmFop6Va6JHmFRsdK7fxn1HtVkpl5UREy7cn4yC4hlHuW87qDp2fEg3YQlZCETrkBbLqIgtAqlklyahRIH0hCzSUO234_op6Va6JHmFRsdK7fxn1HtVkpl5UREy7cn4yC4hlHuW87qDp2fEg3YQlZCETrkBbLqIgtAqlklyahRIH0hCzSUOI3YQlZCETrkBbLqIgtAqlklkBbLqIgtAqlkl.txt
function getLength() {
//alert(.length);
var fullPath = document.getElementById("myfile").value;
if (fullPath) {
var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/'));
var filename = fullPath.substring(startIndex);
if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) {
filename = filename.substring(1);
}
alert(filename.length);
}
}
我期待什么?
我希望IE9像在Chrome和FireFox中一样提醒文本的长度
发生了什么事呢?
Firefox和chrome给我的值为230,但IE9甚至不允许我上传文件。
IE9是否有办法识别此文件并提醒Chrome和Firefox等文件名长度?
答案 0 :(得分:3)
Windows将文件路径的长度限制为255个字符(文件路径+名称,包括扩展名和.
),C:\
增加了3个字符
来源:http://vlaurie.com/computers2/Articles/filenames.htm
我在尝试解压缩大型嵌套zip文件时一直遇到它。
IE9使情况变得更糟,因为它包含file
输入元素的文件名的完整路径,包括开头" C:\"。
来源:http://support.softartisans.com/kbview_892.aspx
所以在Windows上,文件名的理论限制是258个字符,包括C:\
。但是当IE9抓取该文件时,它会显示完整的路径,包括C:\
,因此您可以上传到IE9的最大文件名是255个字符,包括C:\
例如,这将 NOT 上传
C:\ 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890axxx.txt
但这将
C:\ 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890a.txt
并且Windows甚至不允许您将文件命名为:
C:\ 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890axxx00000.txt
因为它太长了。
很有可能,你的文件位于那个"神奇的范围内"大于255,因此IE不允许,但小于259,所以Windows仍然允许。 Firefox和Chrome并不关心,IE.
的新版本也没有。IE9
您无法做任何事情。