June 17, 201411 yr There is a very useful option when you run the script step "Insert File" - you can choose the "Compress" checkbox to store the file compressed. Helpfully, FileMaker shows the icon and filename of the file in that container without any indication that it is compressed, but there is a lot less data being stored in the database (or external on the server ) and there is less data to transfer over a WAN or otherwise slow network. If you then choose to "Export Field Contents" of that container field, FileMaker silently decompresses that data to export the original file. Having looked at what is stored, it seems that silent compression is the gzip format. Let's say, however, that you want to Base64 encode that container to transfer it via something other than a direct FileMaker import/export or Set. So, you Base64 Encode that container into another field named "Container_asBase64." Then, you transfer that base64 data via a script or an http transfer (perhaps using RESTfm by Goya, for example). You then run that base64 through FileMaker's Base64Decode and the correct file name. You set a container field named "DestinationContainer" to the result. You see the file icon and file name, and it takes up the same reduced space. Then, you Export Field Contents on "DestinationContainer" and save with the original file name to your Desktop. If you try to open that file, it does not work. If, however, you then edit the file name to add ".gz" (gzipped file extension) and then try to open it, your operating system decompresses it and the resulting file can then be opened. You can skip a step by picking the file name with the ".gz" appended when you Base64Decode, but that still means the OS needs to decompress the exported field contents, instead of FileMaker automatically doing that during the export. The problem is that if your OS has no way to decompress the gzipped file, you are stuck. As an obvious example, iOS using FileMaker Go cannot do this within FileMaker. If the whole point was to have a FileMaker Go solution do an http request that gets base64-encoded data, converts it back into container data, and then exports it in order to transfer another FileMaker database, I don't know how to decompress that gzipped file. Thoughts? Obviously, if this isn't possible, it is possible to do this by transferring via a direct FileMaker connection, but it would really be helpful to be able to flip that bit or whatever FileMaker's "Insert File" script step does to mark the container as "compressed" and have alternate transfer methods take advantage of this.
June 17, 201411 yr For decompressing files I use iZip Pro on iOS but I am not sure if this would work for what you are trying to accomplish...
Create an account or sign in to comment