我正在尝试将图像URL编码到ASP.NET中的Base64,以便开源API可以处理我的请求。开源端的支持团队从PHP系统向我发送了这段代码。我有问题将其转换为C#等价物。
PHP代码:
$data = urlencode(base64_encode(fread(fopen("/tmp/signature.jpg", "r"), filesize("/tmp/signature.jpg"))));
到目前为止我尝试过的事情:
string data = "http://url.com/image.jpg"
byte[] encbuff = HttpUtility.UrlEncodeToBytes(data);
string enc = Convert.ToBase64String(encbuff);
string urlenc = HttpUtility.UrlEncode(data);
任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
PHP fopen
和fread
函数正在打开一个文件并读取其字节。您只使用该URL。您需要先下载它,或者打开它是否是本地文件,首先:
byte[] data;
using (var webClient = new WebClient())
data = webClient.DownloadData("http://url.com/image.jpg");
string enc = Convert.ToBase64String(data);
string urlenc = HttpUtility.UrlEncode(enc);