Вы также можете сделать что-то на стороне сервера, если вы хотите, чтобы размер сохранялся на 100% точно без ввода данных пользователем.
Этот скрипт Python, например, выведет тип сжатия, версию, размер (сжатый или несжатый) и размеры.
#!/usr/bin/env python
import bitstring
import zlib
swf_file = file("test.swf", "rb")
swf = swf_file.read()
swf_file.close()
bits = bitstring.ConstBitStream(filename="test.swf")
type = "".join(map(chr, bits.readlist('uint:8, uint:8, uint:8')))
print "Compression: ", type
print "Version: ", bits.read('uint:8')
swf_length = bits.read('uintle:32')
if type == 'CWS':
print "Compressed Size: ", swf_length
f = zlib.decompress(bits.bytes[8:], zlib.MAX_WBITS)
bits = bitstring.ConstBitStream(bytes=f, length=swf_length * 8 - 64)
else:
print "Uncompressed Size: ", swf_length
nbits = bits.read('uint:5')
xmin, xmax, ymin, ymax = bits.readlist('uint:{size}, uint:{size}, uint:{size}, uint:{size}'.format(size = nbits))
print "Dimensions: {x}x{y}".format(x = (xmax - xmin) / 20, y = (ymax - ymin) / 20)
Пример вывода:
Compression: CWS
Version: 10
Compressed Size: 166608
Dimensions: 200x100