ユーザーが写真をインポートできるようにするアプリを作成しています。私はWindowsを実行しているので、ユーザーが画像を選択したときに返されるファイルパスにはバックスラッシュが含まれています. シンプルな 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('\\', '/')
...
常にまったく同じ出力が得られ、文字列は毎回変更されません。