2017-02-23 3 views
0

になり、私のURLがOnedriveビジネスアップロードAPI:ファイル名にスペースを持つが、アップロードする前に+

https://xxx-my.sharepoint.com/_api/v2.0/drive/items/root:/test+test.txt:/contentあるので、私は

test.txtというテストという名前のファイルが、このAPIのISNをアップロードするとき、私は、ファイル名をURLENCODEますこれを処理しません。

onedrive API: https://api.onedrive.com/v1.0/drive/items/root:/test+test.txt:/contentは、私はPHP

+0

私がurlencodeしなかった場合、私のサーバーは400エラー(無効なURL)を返す –

答えて

0

+で正確なファイル名を維持することができますどのように正しく

を実行することができ、これまでスペースのエンコードされた形式であるとしてでトリッキーなキャラクターです。私はそれが技術的にはクエリ文字列内で合法だと思うし、パスコンポーネント内のスペースをエンコードするための予想される方法は%20を使用している。コード化されたバージョンを使用すると、コンシューマーとビジネスの両方から同じ動作が得られますが、+エンコーディングが消費者の望みどおりに機能することがわかった(明らかに議論が必要かどうかは問わない)。

+0

私はRFC 3986標準に準拠しており、この問題を解決しました。 –

関連する問題