我正在尝试找到一种方法来使用 QNetworkRequest/QUrl 将文件上传到 S3,并在路径中使用加号“+”字符。
AWS S3 服务将“+”字符解释为空格,从而违反了 HTTP 规范。例如,给定一个 PUT 请求,该请求在网络上以此开头:
PUT /my+file.jpg HTTP/1.1
亚马逊会将其解释为“我的文件.jpg”。解决方法是将请求发送为:
PUT /my%2Bfile.jpg HTTP/1.1
问题是似乎没有办法让 QNetworkRequest/QUrl 编码 + 字符。有任何想法吗?
这是亚马逊的错误,但他们永远不会修复它。多年前在此线程中提到过:https ://forums.aws.amazon.com/thread.jspa?messageID=722673 。