我在 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/