【问题标题】:Onedrive business upload API : A file name with spaces becomes +Onedrive业务上传API:带空格的文件名变成+
【发布时间】:2017-02-23 07:08:19
【问题描述】:

在上传之前我会对文件名进行urlencode,所以我的网址是

https://xxx-my.sharepoint.com/_api/v2.0/drive/items/root:/test+test.txt:/content 当我上传一个名为 test test.txt 的文件时

但是这个 API 不处理这个。

onedrive api: https://api.onedrive.com/v1.0/drive/items/root:/test+test.txt:/content可以正常运行

如何使用 PHP 保持准确的文件名

【问题讨论】:

  • 如果我没有 urlencode ,我的服务器返回 400 错误(无效 URL)

标签: php onedrive


【解决方案1】:

+ 就作为空间的编码形式而言是一个棘手的字符。我相信它在技术上仅在查询字符串中是合法的,并且对路径组件中的空间进行编码的预期方法是使用%20。如果您使用百分比编码版本,您将从消费者和企业获得相同的行为,而您发现 + 编码仅适用于您对消费者的期望(尽管它是否应该显然值得商榷)。

【讨论】:

  • 我按照RFC 3986标准对url进行编码解决了这个问题
【解决方案2】:

Office 正在慢慢变成 Google 云端硬盘的弱智表亲。 Sharepoint 或 Onedrive 不接受空格或其他字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多