我使用了这个:
$('input[type=file]').val()
以获取选定的文件名,但它返回完整路径,如"C:\fakepath\filename.doc“。"fakepath“部分实际上是存在的--不确定它是否应该存在,但这是我第一次使用文件上传的文件名。
如何才能获得文件名(filename.doc)?
发布于 2011-06-16 08:21:37
var filename = $('input[type=file]').val().split('\\').pop();
或者您可以直接这样做(因为出于安全原因,添加的总是C:\fakepath
):
var filename = $('input[type=file]').val().replace(/C:\\fakepath\\/i, '')
发布于 2014-06-03 03:42:32
你只需要做下面的代码。第一个是访问HTML元素,第二个是访问文件上传的第一个文件(我在没有文件的情况下包含了一个验证):
var filename = $('input[type=file]')[0].files.length ? ('input[type=file]')[0].files[0].name : "";
发布于 2011-06-16 08:21:50
由于安全原因,Chrome返回C:\fakepath\...
-网站不应该能够获得关于你的计算机的信息,例如你计算机上的文件的路径。
要只获取字符串的文件名部分,可以使用split()
...
var file = path.split('\\').pop();
...or a regular expression...
var file = path.match(/\\([^\\]+)$/)[1];
...or lastIndexOf()
...
var file = path.substr(path.lastIndexOf('\\') + 1);
https://stackoverflow.com/questions/6365858
复制相似问题