我正在尝试从API发出下载请求,要求我在URL中包含PDF的Base64字符串。我正在使用WebClient.DownloadString()方法,它给了我一个System.IO.PathTooLongException。
我知道URI中的字符数量有限制(~60k),我的URI比这要多几千,所以我不认为设置基本网址或任何东西会有所帮助。有没有办法绕过URI字符限制?
答案 0 :(得分:2)
我认为由于HTTP 414错误,WebClient会抛出System.IO.PathTooLongException?如果是这种情况,服务器不允许该长度的get-requests。
您确定必须将pdf数据添加为GET参数吗? 尝试POST这样的数据:
using (WebClient wc = new WebClient())
{
var nvc = new NameValueCollection();
nvc.Add("pdf-parameter", "encoded-pdf-here");
// UploadValues uses 'POST' by default
var data = wc.UploadValues(url, nvc);
// Adjust result encoding if required...
var result = Encoding.UTF8.GetString(data);
}