Javascript 如何提取包含“的子字符串”;C:\fakepath.“;
我正在谷歌浏览器中上传一个文件 当我尝试使用以下代码来警告输入文件(abc.pdf)的值时,它显示为Javascript 如何提取包含“的子字符串”;C:\fakepath.“;,javascript,file-upload,Javascript,File Upload,我正在谷歌浏览器中上传一个文件 当我尝试使用以下代码来警告输入文件(abc.pdf)的值时,它显示为C:\fakepath\abc.pdf var ab=document.getElementById(“myfile”).value 警报(ab) 所以我尝试了以下方法来获取文件输入的值 使用了split(\\”机制,但没有得到结果 试图使用lastIndexOf(“\\”)查找“\”的最后一个索引,但未找到 我已经编写了以下代码片段。但我不知道下一步该怎么做。 如有任何建议,将不胜感激 <
C:\fakepath\abc.pdf
var ab=document.getElementById(“myfile”).value警报(ab) 所以我尝试了以下方法来获取文件输入的值
split(\\”
机制,但没有得到结果李>
lastIndexOf(“\\”)
查找“\”的最后一个索引,但未找到李>
我已经编写了以下代码片段。但我不知道下一步该怎么做。如有任何建议,将不胜感激
<html>
<head>
<script type="text/javascript">
function show(){
var ab = document.getElementById("myfile").value;
alert(ab);
}
</script>
</head>
<body>
<form>
<input type="file" name="myfile" id="myfile" value="" onchange="show()"/>
<input type="button" name="submit" value="submit">
</form>
</body>
</html>
函数show(){
var ab=document.getElementById(“myfile”).value;
警报(ab);
}
您可以尝试替换吗
var ab = document.getElementById("myfile").value.replace(/C:\\fakepath\\/i, '');
C:\fakepath\
只是浏览器出于安全目的添加的内容,实际值发布到服务器时不应出现
如果要替换它们以显示在alert()
调用中(或出于其他目的),您可以尝试通过调用替换它们:
您可以在下面看到一个完整的工作示例(只需添加一个文件):
伪路径橡皮擦专业版
“\”是一个特殊字符,必须在字符串中转义才能正常工作
var path = "C:\\fakepath\\abc.pdf";
var array = path.split("\\");
console.log(array[array.length-1]);
// output will be "abc.pdf"
如何在我得到的值上添加一个额外的“\”?我在浏览文件时得到了值。是的。。它在@Rion正常工作。谢谢
var path = "C:\\fakepath\\abc.pdf";
var array = path.split("\\");
console.log(array[array.length-1]);
// output will be "abc.pdf"