jquery在Chrome上获取输入文件值

标签 jquery google-chrome file-upload onchange

我尝试在输入字段更改事件发生时获取上传值

但是我在 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/

相关文章:

java - 以编程方式调用 button.click() 后,GWT FileUpload form.submit() 不起作用

javascript - jQuery 加入 location.hash 无尽清爽 Firefox

javascript - 在幕后,Javascript 对象是哈希表吗?

html - Jquery 悬停单个元素时触发多个元素

html - 行内 block 元素似乎无缘无故地换行?

google-chrome - 在开发过程中保持 Chrome 扩展 ID 相同

java - FileUploadBase 上传小文件时找不到任何分段部分

c# - 在 ASP.NET 中重命名并发上传的文件

用于选择框的 jQuery "Chosen"- 如何在 AJAX 加载选择元素后应用样式

jquery - 谷歌地图 API v3 : routeIndex Not Working?