0

我正在尝试在 ASP.NET 中将图像 url 编码为 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);

任何帮助将不胜感激,谢谢。

4

1 回答 1

1

PHPfopenfread函数正在打开一个文件并读取它的字节。您只使用 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);
于 2013-04-27T01:41:30.847 回答