Amazon MWS Merchant Fulfillment - Создание ярлыка
Я создаю отправку из Amazon и получаю верный файл ответов.
Но мне нужно получить метку носителя в формате PNG, что не так уж и плохо, но у меня проблемы с процессом Gzip.
Руководство разработчика от Amazon гласит:
- Декодируйте строку в кодировке Base64.
- Сохраните декодированную строку с расширением.gzip
- Извлеките файл 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");