【问题标题】:How to extract a substring containg "C:\fakepath...." [duplicate]如何提取包含“C:\fakepath....”的子字符串 [重复]
【发布时间】:2016-08-07 13:38:48
【问题描述】:

我正在 Google chrome 浏览器中上传文件。

当我尝试使用以下代码提醒输入文件 (abc.pdf) 的值时,它的格式为 C:\fakepath\abc.pdf

var ab = document.getElementById("myfile").value;
警报(ab);

所以我尝试了以下方法来获取文件输入的值....

  1. 使用split("\\")机制,但没有得到结果。
  2. 尝试使用lastIndexOf("\\")找出“\”的最后一个索引,但没有找到。

我写了以下代码sn-p。但不明白下一步该怎么做。
任何建议都将受到高度赞赏。

<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>

【问题讨论】:

    标签: javascript file-upload


    【解决方案1】:

    你可以试试替换吗?

    var ab = document.getElementById("myfile").value.replace(/C:\\fakepath\\/i, '');
    

    【讨论】:

      【解决方案2】:

      C:\fakepath\ 只是浏览器出于安全目的添加的内容,在将实际值发布到服务器时不应出现。

      如果您想替换它们以在您的 alert() 调用中显示(或用于其他目的),您可以尝试通过 replace() 调用来替换它:

      // This should strip off 'C:\fakepath\' from your file path
      var ab = document.getElementById("myfile").value.replace('C:\\fakepath\\','');
      alert(ab);
      

      您可以在下面看到一个完整的工作示例(只需添加一个文件):

      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>Fakepath Eraser Pro</title>
      </head>
      <body>
        <input type='file' onchange='alert(this.value.replace("C:\\fakepath\\",""))' />
      </body>
      </html>

      【讨论】:

      • 是的..它工作正常@Rion。谢谢。
      【解决方案3】:

      “\”是一个特殊字符,必须在字符串中转义才能正常工作。

      var path = "C:\\fakepath\\abc.pdf";
      var array = path.split("\\");
      console.log(array[array.length-1]);
      // output will be "abc.pdf"
      

      【讨论】:

      • 如何在我得到的值上添加一个额外的“\”?浏览文件时我得到了价值。
      猜你喜欢
      • 2014-10-30
      • 2023-01-10
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 2021-05-10
      • 1970-01-01
      • 2018-05-13
      相关资源
      最近更新 更多