Amazon MWS Merchant Fulfillment - Создание ярлыка

Я создаю отправку из Amazon и получаю верный файл ответов.

Но мне нужно получить метку носителя в формате PNG, что не так уж и плохо, но у меня проблемы с процессом Gzip.

Руководство разработчика от Amazon гласит:

  1. Декодируйте строку в кодировке Base64.
  2. Сохраните декодированную строку с расширением.gzip
  3. Извлеките файл PDF/PNG или ZPL из файла GZIP.

Так что Шаг 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 ответ

Решил это:

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");
Другие вопросы по тегам