cep.fs.showOpenDialogの仕様変更?

Adobe一般, Extension, javascript

こちらの記事で紹介した通りAdobe cepはファイルやフォルダーをダイアログで選択できるメソッドを持っている。それでここで紹介した通りにやればファイルパスが取得できるのだがCC2019とCC2020で使用が変わった?

CC2019

CC2020

取得したパスにいつの間にか頭にfile:///とスキームが付くように変わってるじゃないか。デバッグしててエラーが出てなんかおかしいと思った。ちなみにこのままだとpathだと認識されないのでNode.jsのfs.statSyncで読み込ませてもエラーを返します。なのでpathのstringとしてパースする必要があります。やり方は至極簡単。

ネイティブモジュールのurlからパースするだけです。頭のfile:///スキームが取れます。ちなみにJSXの場合Fileコンストラクトの引数にファイルパスを渡すとJSX上で使えるパスの形式に変換してくれるのでNode.jsから取得したパスの形式なんかもこれで簡単に変換できましたがJSXの場合fileスキームがついても大丈夫でした。

Beer 寄付してサイトを応援する。