delphi - 印地。使用 % 发布字符串时出错

标签 delphi delphi-7 indy

我在 Delphi 7 下使用 Indy 9.00.10。

我使用TIdMultiPartFormDataStream使用TIdHTTP发布一些数据。当我尝试发布一些带有包含 % 的文本值的参数时,例如“100% 品牌”,它会引发“格式 % 无参数”。

在我看来,它正在对我试图发布的值调用一些格式函数,并且它期望每个 % 都是占位符,这不是我的情况。

这是一个已知问题吗?有解决办法吗?

最佳答案

您使用的是非常旧的 Indy 版本。 Indy 9 的最后一个版本是 9.0.50,可在 Indy's SVN 中找到。 。此问题已在 9.0.13 中修复。

如果您不想升级,解决方法是将字段数据中的任何 '%' 字符加倍,以便将它们格式化为单个 '%' > 字符,例如:

Stream.AddFormField('FieldName', StringReplace(FieldValue, '%', '%%', [rfReplaceAll]));

关于delphi - 印地。使用 % 发布字符串时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166343/

相关文章:

forms - 简单的代码和错误发生在表单关闭

delphi - 在 Delphi 中检测 TCP 连接/断开

delphi - Release模式下的 EIdSocketError

delphi - 如何将 nil 传递给 var 参数?

delphi - TIdHTTPWebBrokerBridge 文档

delphi - 如何将 DataSnap 客户端连接定向到各种 DS Server?

delphi - 在 Delphi 6 类声明中分配接口(interface)指针?

delphi - 没有对象检查器的 OnMouseMove delphi

delphi - 跳转到finally而不退出函数/过程

multithreading - 超过 400 个连接的 Indy TCP 服务器