Skip to main content
Solved

ZipArchiver: Zipfile size requires ZIP64 extensions

  • July 12, 2018
  • 4 replies
  • 89 views

soothsayers
Contributor
Forum|alt.badge.img+7

Hi,

Using FME Server, I am writing a large amount of data to a gdb to then be zipped up, using the custom transformer ZipArchiver. It works until it reaches its 2GB limit and then fails with the following lines:

Ideas for a workaround for this would be gratefully received! Is there a quick fix? Would Gzip work better?

Kind regards

Best answer by david_r

Edit the custom transformer and open the PythonCaller. Modify line 63 to set "allowZip64" to True. The line should look like this:

with zipfile.ZipFile(zpath, 'a', zipfile.ZIP_DEFLATED, allowZip64=True) as zipper:

Perhaps @takashi would consider making this the default for the next release? :-)

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

4 replies

david_r
Celebrity
  • 8394 replies
  • Best Answer
  • July 12, 2018

Edit the custom transformer and open the PythonCaller. Modify line 63 to set "allowZip64" to True. The line should look like this:

with zipfile.ZipFile(zpath, 'a', zipfile.ZIP_DEFLATED, allowZip64=True) as zipper:

Perhaps @takashi would consider making this the default for the next release? :-)


takashi
Celebrity
  • 7843 replies
  • July 12, 2018

Edit the custom transformer and open the PythonCaller. Modify line 63 to set "allowZip64" to True. The line should look like this:

with zipfile.ZipFile(zpath, 'a', zipfile.ZIP_DEFLATED, allowZip64=True) as zipper:

Perhaps @takashi would consider making this the default for the next release? :-)

@david_r, thanks for your suggestion. Yes, setting True to the allowZip64 flag could resolve the issue.

Setting Python 3.4+ (or later) to the Python Compatibility parameter in the workspace could also be a solution, since the allowZip64 flag is set to True by default in Python 3.4+.


takashi
Celebrity
  • 7843 replies
  • July 12, 2018

Edit the custom transformer and open the PythonCaller. Modify line 63 to set "allowZip64" to True. The line should look like this:

with zipfile.ZipFile(zpath, 'a', zipfile.ZIP_DEFLATED, allowZip64=True) as zipper:

Perhaps @takashi would consider making this the default for the next release? :-)

Updated the ZipArchiver in FME Hub to allow zip64 by default :-)

 


soothsayers
Contributor
Forum|alt.badge.img+7
  • Author
  • Contributor
  • 18 replies
  • July 12, 2018

Edit the custom transformer and open the PythonCaller. Modify line 63 to set "allowZip64" to True. The line should look like this:

with zipfile.ZipFile(zpath, 'a', zipfile.ZIP_DEFLATED, allowZip64=True) as zipper:

Perhaps @takashi would consider making this the default for the next release? :-)

Thanks guys, this seems to have worked :)