我尝试在输入字段
的更改事件
发生时获取上传值
但是我在 Chrome 上得到了这个值,
C:\fakepath\winnie-the-pooh.jpg
所以我将 \
和数组中的最后一项分开。
jquery,
$("#upload").change(function(){
var fragment = $("#upload").val();
var array_fragment = fragment.split('\/');
alert($(array_fragment).last()[0]);
});
但我在 Chrome 上仍然得到 C:\fakepath\winnie-the-pooh.jpg
而不是 winnie-the-pooh.jpg
。
我怎样才能让它发挥作用?
html,
<input type="file" name="image" id="upload"/>
最佳答案
您需要在 \
上拆分,而不是 /
:
var array_fragment = fragment.split('\\');
理想情况下,你们会在其中一个上分道扬镳。幸运的是,split
采用正则表达式:
var array_fragment = fragment.split(/\\|\//);
该正则表达式基本上意味着“\
或 /
”——管道运算符 |
是“或”,而 /
开头和结尾的字符表示正则表达式位于中间。
关于jquery在Chrome上获取输入文件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293354/