需要帮助,试图从IE9上传图像我得到一个C:fakepath / name_of_my_file
如何删除此C:fakepath?
由于
if($('#ficheiro').val().search(/C:fakepath/)) {
$('#ficheiro').val().val($('#ficheiro').val().replace('C:fakepath',''));
nome.val('pics/'+$('#ficheiro').val());
} else {
nome.val('pics/'+$('#ficheiro').val());
}
答案 0 :(得分:6)
您可以使用它,它也会删除斜杠,只留下文件名。
$(this).val().replace(/C:\\fakepath\\/i, '');
答案 1 :(得分:5)
你不能简单地使用string的替换功能吗?
nome.val("pics/" + $('#ficheiro').val().replace("C:fakepath", ""));
答案 2 :(得分:1)
var path = new String($('#ficheiro')。val());
path = path.replace(" C:fakepath","");
答案 3 :(得分:0)
为您提供解决方案,首先检查浏览器是否为IE,然后使用encodeURI对所有文件路径和名称进行编码,您必须先执行此操作才能正确捕获未加标记的字符,如“\”。然后换掉,它为我工作:
var browserName=navigator.appName;
if (browserName=="Microsoft Internet Explorer")
{
var soloNombre = encodeURI(soloNombre);
soloNombre = soloNombre.replace("C:%5Cfakepath%5C","");
var soloNombre = decodeURI(soloNombre);
alert(soloNombre);
}
像魅力一样。
答案 4 :(得分:0)
试试这个
$(function() {
$("input:file").change(function (){
var fileName = $(this).val().replace("C:\\fakepath\\", "");
});
});