URL编码的Base64编码文件数据

时间:2013-04-27 01:30:34

标签: c# php urlencode url-encoding

我正在尝试将图像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);

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

1 个答案:

答案 0 :(得分:1)

PHP fopenfread函数正在打开一个文件并读取其字节。您只使用该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);