gpt4 book ai didi

c# - Ruby base64 到 C# base64

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:17 24 4
gpt4 key购买 nike

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

但是,一旦我尝试解码 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);
}

最佳答案

我会调查您对 Server.UrlDecode 的调用。看起来这可能会损坏您的数据。

根据 this SO question,“+”号似乎特别值得关注. Server.UrlDecode 使用 HttpServerUtility.UrlDecode 和 here's the documentation for it .

关于c# - Ruby base64 到 C# base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com