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

时间:2018-03-05 17:01:16

标签: c# base64 png gz mws

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

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

亚马逊的开发者指南声明:

  1. 解码Base64编码的字符串。
  2. 使用.gzip扩展名保存已解码的字符串
  3. 从GZIP文件中提取PDF / PNG或ZPL文件。
  4. 所以第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);
            }
        }
    }
    

1 个答案:

答案 0 :(得分: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");