【发布时间】:2020-10-13 12:04:32
【问题描述】:
终于弄清楚如何通过 HttpClient 将 QueryString 作为 POST 发送,但另一个问题是,URi 字符串太长,因为其中一个字符串被文件编码为 ToBase64String
是否可以转换此解决方案:
NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty);
queryString.Add("mail_from", FromEmailAddress);
queryString.Add("mail_to", ToEmailAddress);
queryString.Add("mail_Attachment", ZipInBytes);
var response = await client.PostAsync($"/api?{queryString}", null);
还有其他方法可以发送很长的字符串吗?在邮递员中工作的 JSON 原始数据发送到 API
{
"mail_from":"value",
"mail_to":"value2,
"mail_Attachment":"very long string"
}
或者我完全出局了,这是不可能的。我的目标是将带有文件的数据从 Outlook 发送到 API 并保存到数据库。
【问题讨论】:
-
我不熟悉邮递员你有邮递员发送的原始http请求吗?我怀疑正文中有“原始数据”选项。
-
您可以更改 Web 服务器上的最大查询长度,但我强烈建议不要这样做,除非您不关心 DDOS 攻击。我建议使用
POST专门用于大数据传输的替代方法。除了使用POST之外,还有许多其他方法可以实现这一点 -
@xdtTransform
request.AddParameter("application/json", "{\r\n \"mail_from\":\"mail@mail.com\",\r\n \"mail_to\":\"mailfrom@mail.com\"\r\n}", ParameterType.RequestBody);可以放在这段代码中variableinsteedmail@mail.com?
标签: c# json api post query-string