我用这个代码
File.WriteAllBytes("c:\\TEMP\\ETIQUETTE3.pdf", Convert.FromBase64String("https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20240222/e86694b3ff2c284f158731ab8baa4ffcd6.pdf"));
我有这个错误:**入口不是 Base 64 有效的链,该内容是非 Base 64 的字符,加上 deux caractères de remplissage 或 un conforme parmi les caractères de remplissage。 **
谢谢
您发布的 URL 只是一个普通字符串,而不是 Base64 字符串。
您只需下载文件并保存即可。
using (var client = new HttpClient())
using (HttpResponseMessage response = await client.GetAsync("https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20240222/e86694b3ff2c284f158731ab8baa4ffcd6.pdf"))
{
byte[] fileContents = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("c:\\TEMP\\ETIQUETTE3.pdf", fileContents);
}
您正在尝试使用Conver.fromBase64String,它需要一个base64字符串而不是URL 您可以下载文件来写入所有字节:
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;
class Program
{
static async Task Main(string[] args)
{
string url = "https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20240222/e86694b3ff2c284f158731ab8baa4ffcd6.pdf";
string filePath = "c:\\TEMP\\ETIQUETTE3.pdf"; //desired path to save
using (var httpClient = new HttpClient())
{
var response = await httpClient.GetAsync(url);
if (response.IsSuccessStatusCode)
{
var fileBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes(filePath, fileBytes);
Console.WriteLine("File downloaded and saved successfully.");
}
else
{
Console.WriteLine("Failed to download the file.");
}
}
}
}