我正在编写一个可以让用户导入图片的应用程序。我正在运行 Windows,所以当用户选择图片时返回的文件路径有反斜杠,当我将路径传递给我的导入方法时,我认为这是导致 javascript 失败的原因。我通过简单的 html 文件输入获取文件路径,并使用提交按钮和对我的 javascript 的 onclick 调用:
<input type="file" id="photo-to-import" />
<input type="button" value="Submit" onclick="console.log($('#photo-to-import').val().replace('/\\/g','/'))"/>
console.log 通常是函数调用所在的位置,我已经更改它以进行调试。如果我在图片的文件路径中硬编码并手动更改斜杠,它会导入图片,例如,我将复制/粘贴路径:
C:\Users\Name\Desktop\desktop app\images\imageName.png
进入函数并更改我最终得到的斜杠:
<input type="button" value="Submit" onclick="onPhotoURISuccess('C:/Users/Name/Desktop/desktop app/images/imageName.png')"/>
这很好用。我努力了
.replace('\\\\', '/')
.replace('\\', '/')
...
并且总是得到完全相同的输出,字符串每次都不变。