Ruby base64 to C# base64

本文关键字:base64 to Ruby | 更新日期: 2023-09-27 18:18:53

我正在编写一个Ruby/Rhomobile应用程序,它采用base64编码并将其发送到服务器(在ASP.NET上运行c#),作为更大的XML的一部分。

然而,一旦我尝试解码base64并将其保存到硬盘上,结果文件不能作为图像工作。

以下是相关的ruby代码:
image_element = REXML::Element.new("image")
image_element.text = Base64.encode64(open(Rho::RhoApplication::get_blob_path(self.image_uri)) { |io| io.read })
form_element.add_element(image_element)
下面是我的c#代码:
var doc = new XmlDocument();
doc.LoadXml(Server.UrlDecode(Request.Form[0]));
var imageBase64 = doc.SelectNodes("//image")[0];
var imageBytes = imageBase64.InnerText;
using(var imgWriter = new FileStream(@"c:'img.jpg",FileMode.Create))
{
    imgWriter.Write(imageBytes,0,imageBytes.Length);
}

Ruby base64 to C# base64

我会调查你对Server.UrlDecode的调用。这似乎会破坏你的数据。

在这个SO问题中,"+"号似乎是一个特别关注的问题。服务器。UrlDecode使用HttpServerUtility。UrlDecode,这是它的文档