我有一个包含 pdf 的 blob url。我想获取该 pdf 并将其转换为 base64。该网址类似于:blob:https://seller.walmart.com/51339eb8-5d7b-49a5-8f7b-258d88bc15f0,并且只能在您生成它的计算机中访问。我尝试使用 Httpclient 下载它,但它给了我System.NotSupportedException:'不支持'blob'方案。'错误,我认为因为pdf是在浏览器中生成的,我不知道平台给出了网址。这是我尝试过的代码:
static async Task<string> FetchPdfAndConvertToBase64(string pdfUrl)
{
using var httpClient = new HttpClient();
var response = await httpClient.GetAsync(pdfUrl);
response.EnsureSuccessStatusCode();
byte[] blobBytes = await response.Content.ReadAsByteArrayAsync();
string base64string = Convert.ToBase64String(blobBytes);
return base64string;
}
您从
HttpClient
收到该错误,因为 URL 为“blob:https://seller.walmart.com/51339eb8-5d7b-49a5-8f7b-258d88bc15f0”。
删除“斑点”位,其余部分应该可以正常工作。
var pdfURL = theRawURL.Replace("blob:","");