2017-02-23 2 views
0

avant de les charger, je vais urlencode le nom du fichier, donc mon URL estonedrive API de téléchargement d'affaires: Un nom de fichier avec des espaces devient +

https://xxx-my.sharepoint.com/_api/v2.0/drive/items/root:/test+test.txt:/content quand je télécharge un fichier nommé test de test.txt

mais cette API ISN Ne traitez pas cela.

onedrive api: https://api.onedrive.com/v1.0/drive/items/root:/test+test.txt:/content peut fonctionner correctement

Comment puis-je conserver le nom de fichier précis avec PHP

+0

si je n'ai pas urlencode, mon serveur renvoie 400 Erreur (URL invalide) –

Répondre

0

+ est un caractère délicat dans la mesure comme étant une forme codée de l'espace. Je crois que c'est techniquement seulement légal dans la chaîne de requête, et la manière prévue pour encoder l'espace dans le composant de chemin utilise %20. Vous obtiendrez le même comportement des consommateurs et des entreprises si vous utilisez la version codée en pourcentage, alors que vous avez découvert que l'encodage + ne fonctionne que si vous le souhaitez pour le consommateur (bien que cela soit évidemment discutable).

+0

Je suis en conformité avec la norme RFC 3986 à l'URL de codage résolu ce problème –