如何在浏览要上传的文件时自动获取文件名?

时间:2012-02-22 21:57:03

标签: javascript

我想创建一个上传表单。 当我浏览文件时。例如。 C:\ mypicture \ winter.jpg 我想获取文件名并自动填写文本框'winter.jpg'。

enter image description here 谢谢。

2 个答案:

答案 0 :(得分:2)

参见纯JS中的演示:http://jsfiddle.net/VaWDP/2/

<input type="file" id="file">
<input type="text" id="name">​

var input = document.getElementById('file');
var name = document.getElementById('name');

if (input.addEventListener) {
    input.addEventListener('change', add_filename);
} else if (input.attachEvent) {
    input.attachEvent('onchange', add_filename);
}

function add_filename()
{
    name.value = input.value.split(/\\|\//).pop();
}

请参阅jQuery中的演示:http://jsfiddle.net/SsW6t/

(function() {
    $('#file').change(function() {
        $('#name').val($(this).val().split(/\\|\//).pop());
    });
})(jQuery);​

答案 1 :(得分:0)

这是不可能的。网站不应该能够预先确定本地磁盘上数据的位置。

如果可能出现这样的问题,可能会出现如下问题:

  • 如果文件不存在,该怎么办
  • 如果文件是安全敏感的(例如加密密钥)

@PeeHaa评论说它是,因此如果存在这样的例子,那显然是一个安全问题。这个JSFiddle示例对我不起作用......