本記事で分かること
- APIでファイル名(ファイルパス)に区切り文字(,;)が混在する場合、リクエストを実行する方法
よくあるケース
例)CurlコマンドでAPIを実行する際、ファイル名に「,」(カンマ)もしくは「;」(セミコロン)等の区切り文字が含まれているとエラーが発生する。
解説
ファイル名に「,」(カンマ)や「;」(セミコロン)が含まれる場合、ファイル名のカンマ(セミコロン)を境に2つのファイルパスとして解釈され、結果として存在しないファイルにアクセスしようとしてしまい、エラーが発生する場合があります。
設定方法
例として、Curlコマンドで区切り文字が含まれている場合、ファイルパスを以下のように指定することで、ファイル名に区切り文字が含まれていてもAPIを実行できます。
<詳細>
・ファイルパスをダブルクォーテーション(“)で囲う
・@の後に¥を追加
・フォルダ間の¥を1つ追加
<サンプルコマンド>
curl "<request-host>/workflows/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/units" -X POST -H "apikey:xxxxxxxxxxxxxxxxxxx" -F "files=@¥"c:¥¥TEST¥¥TEST¥¥sam;ple.pdf"" -F "unitName=test"
※上記はMicrosoft Windowsをご利用の場合の設定方法となります。
ご利用のヒント
ファイル名に区切り文字が含まれていない場合でも、以下を設定している状態でAPIを実行することは可能です。
- ファイルパスをダブルクォーテーションで囲う
- @の後に\を追加
- フォルダ間の\を1つ追加
解決しない場合
上記の方法で改善されない場合は、以下をご連携の上、お問い合わせください。
- 実行したAPI名
- レスポンスボディの全文