jquery在Chrome上获取输入文件值
我尝试在input field
的change event
发生时获取上传值
但是我在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"/>
I try to get the upload value when the input field
's change event
occurs
But I get this value on Chrome,
C:\fakepath\winnie-the-pooh.jpg
So I split the \
and the the last item in the array.
jquery,
$("#upload").change(function(){
var fragment = $("#upload").val();
var array_fragment = fragment.split('\/');
alert($(array_fragment).last()[0]);
});
But I still get C:\fakepath\winnie-the-pooh.jpg
instead of winnie-the-pooh.jpg
on Chrome.
How can I make it worked?
the html,
<input type="file" name="image" id="upload"/>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要在
\
上进行拆分,而不是在/
上进行拆分:但理想情况下,您可以在其中任何一个上进行拆分。幸运的是,
split
采用正则表达式:该正则表达式基本上意味着“
\
或/
”——管道运算符|
是“或”,开头和结尾的/
字符表示正则表达式介于两者之间。You need to split on
\
, not/
:Ideally though, you'd split on either. Fortunately,
split
takes a regular expression:That regex basically means "
\
or/
"—the pipe operator,|
, is the "or", and the/
characters at the start and end signify that a regular expression is in between.您不需要 jQuery 来操作数组。此外,文件路径可能不包含斜杠,例如在 Firefox 上。考虑这个例子:
这比用 jQuery 包装数组只是为了获取它的最后一个元素要好。
You do not need jQuery to operate with arrays. Also, the file path may not contain a slash, e.g. on Firefox. Consider this example:
This is better than wrapping an array with jQuery just to get its last element.
你可以阅读我几个月前问过的帖子::
我的问题
根据您的要求,您可以从中得出一些东西邮政!!!
you can read my post i had asked months ago::
my question
based upon your requirements you can derive something from that post!!!