亚马逊MWS商家履行 - 创建标签

问题描述 投票:0回答:1

我正在从亚马逊创建一个货件并获得正确的响应文件。

但我需要获得PNG格式的运营商标签,这不是很糟糕,但我遇到了Gzip流程的问题。

亚马逊开发者指南指出:

  1. 解码Base64编码的字符串。
  2. 使用.gzip扩展名保存已解码的字符串
  3. 从GZIP文件中提取PDF / PNG或ZPL文件。

所以第1步和第2步我做了一些,但第3步中的文件不是正确的PNG或类似的。

这是我的代码:

static void Main(string[] args)
{
    byte[] data = Convert.FromBase64String("Base64 String");

    using (FileStream fs = new FileStream(@"G:\Label.PNG.gzip", FileMode.CreateNew))
    {
        using (GZipStream zipStream = new GZipStream(fs, CompressionMode.Compress, false))
        {
            zipStream.Write(data, 0, data.Length);
        }
    }
}
c# base64 png gz mws
1个回答
0
投票

解决了它:

var byteStream = Convert.FromBase64String("Base64 String");

        Image image = null;

        using (MemoryStream memoryStream = new MemoryStream(byteStream))
        {
            using (GZipStream gzip = new GZipStream(memoryStream,CompressionMode.Decompress))
            {
                image = Image.FromStream(gzip);
            }
        }
        image.RotateFlip(RotateFlipType.RotateNoneFlipNone);

        image.Save(@"G:\label123.png");
© www.soinside.com 2019 - 2024. All rights reserved.