我之前见过类似的问题,由于安全原因,最终没有解决方案.
但今天我看到hostmonster成功实现了这个,当我打开一张票并在后端附加一个文件时.
它适用于firefox和IE(确切地说是版本8).
我已经验证它完全是客户端脚本,没有发送请求(使用firebug).
现在,我们可以重新考虑这个问题吗?
您可以获取文件名,但无法获得完整的客户端文件系统路径.
尝试在事件中访问value
文件的属性.input
change
大多数浏览器只会给你文件名,但有一些例外,比如IE8会给你一个假的路径,如:"C:\fakepath\myfile.ext"
和旧版本(IE <= 6)实际上会给你完整的客户端文件系统路径(由于它缺乏安全).
document.getElementById('fileInput').onchange = function () { alert('Selected file: ' + this.value); };
您可以使用下一个代码:
JS
function showname () { var name = document.getElementById('fileInput'); alert('Selected file: ' + name.files.item(0).name); alert('Selected file: ' + name.files.item(0).size); alert('Selected file: ' + name.files.item(0).type); };
HTML
刚刚测试过,这似乎适用于firefox和IE