簡體   English   中英

將URI中的反斜杠更改為使用javascript的正斜杠

[英]Change the backslashes in a URI to forward-slashes with javascript

我正在編寫一個允許用戶導入圖片的應用程序。 我正在運行Windows,因此用戶選擇圖片時返回的文件路徑帶有反斜杠,這是我認為將路徑傳遞給import方法時導致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('\\', '/')
...

並且始終獲得完全相同的輸出,字符串每次都保持不變。

replace('/\\\\/g','/')更改為replace(/\\\\/g,'/') ,並加上引號,您將嘗試替換字符串'/\\\\/g'文字匹配項而不是使用正則表達式文字。

例如, 'foo /\\\\/g bar'.replace('/\\\\/g','/')將為您提供'foo / bar''C:\\\\Users\\\\Name\\\\Desktop\\\\desktop app\\\\images\\\\imageName.png'.replace(/\\\\/g,'/')將為您提供'C:\\Users\\Name\\Desktop\\desktop app\\images\\imageName.png'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM