C# - 当 webRequest 发送 XML 时,将 Base64 作为 Gif 安全吗?

R·洛奇

我发送了一个 WebRequest,并在我的内容中得到了一个带有 XML 代码的字符串作为响应。

        WebRequest request = WebRequest.Create("...");
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream dataStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(dataStream);
        string responseFromServer = reader.ReadToEnd();

        byte[] bytes = Convert.FromBase64String(responseFromServer);

        Image image;
        using (MemoryStream ms = new MemoryStream(bytes))
        {
            image = Image.FromStream(ms);
        }

        image.Save("File", System.Drawing.Imaging.ImageFormat.Gif);

问题是“Convert.FromBase64String(responseFromServer)”不能转换为base 64,因为响应是:

       "<string xmlns="*LINK*"> 'content' </string>"

我可以删除这些标签,或复制内容吗?

我希望你能解决我的问题:) 感谢您的帮助,并为糟糕的英语感到抱歉 x)

丹·菲尔德

我建议XmlReader为此使用

WebRequest request = WebRequest.Create("...");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
//StreamReader reader = new StreamReader(dataStream);
//string responseFromServer = reader.ReadToEnd();

//byte[] bytes = Convert.FromBase64String(responseFromServer);

using (var reader = XmlReader.Create(dataStream))
{
    reader.Read();
    reader.Read();
    string base64 = reader.Value;
    byte[] bytes = Convert.FromBase64String(base64);
    Image image;
    using (MemoryStream ms = new MemoryStream(bytes))
    {
        image = Image.FromStream(ms);
        image.Save("File", System.Drawing.Imaging.ImageFormat.Gif);
    }
}

有一种方法可以直接在元素值中从 Base64 进行转换,但是您需要知道或多或少需要您阅读整个流才能做到这一点的事情(您可以查看编辑历史记录以了解我的工作那 ;)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Base64编码的图像作为字符串发送到Chromecast

在Symfony 2.8中将Base64 PDF作为电子邮件发送

将js文件从base发送到c#Web api作为base64。输入的字符串不是有效的Base-64字符串

编码Base64并作为附件发送

使用nodejs客户端库将图像作为base64编码发送到Google Cloud vision API

使用C#将WebRequest发送至时出错:(422)无法处理的实体

JMeter-将.xml文件作为SOAP / XML请求发送

通过 API 将文件转换为 base64 发送

载波将文件编码为base64作为进程

jsPDF将生成的文档作为base64

将图像文件发送到服务器的最佳方式是什么:作为 base64 还是图像文件?

当服务器将数据作为c结构发送时,可以在客户端上将缓冲区类型转换为C ++结构吗?

HTML:发送低分辨率图像版本作为Base64后备

Python使用Base64编码的图像作为附件发送电子邮件

python zeep:将未转义的xml作为内容发送

我可以将xml有效负载作为字符串发送到soap web服务吗

发送邮件时将Arraylist作为消息

将 Gif 图像转换为 Base64,同时保留循环计数

将gif编码为base64,而无需写入磁盘python

使用C#发送电子邮件时,无法将eml文件作为附件附加?

Base64与HEX在XML doc中通过Internet发送二进制内容

AVAudioPCMBuffer 作为 Base64

将Java字符串作为C / C ++字节发送

如何将base64字符串作为图像保存到C#中的文件夹中?

使用C#和Web Api将base64字符串作为图像保存到服务器上的文件夹中

可以将整个POST作为JSON对象发送吗?

将base64正确解码为Blob吗?

从位图转换时 C# 无法使用 base64

将C#转换为Python base64编码