3 Replies Latest reply on Jun 6, 2013 10:03 AM by philmodjunk

    Container with External Image Storage using same image name



      Container with External Image Storage using same image name


           FileMaker 12 allows one to store images externally with it managing the storage of the image files. I read a blog post today which said "If you insert two files of the same name, the previously stored file will be overwritten." The blog suggests that in order to avoid this risk it's vital to store each image separately using a path such as  this one:. "/ImageField/" & Get ( RecordID ) & "/" This got me panicked, so I did some testing.

           The good news is that FileMaker 12 is clever enought to recognise when you've inserted the same image file into multiple container records. In this case it only stores the image once saving space on the disk.

           So then I tried to trick it by giving a different image the same name. Instead FileMaker saved the new image with a suffix "Image_1.jpg" preserving the original "Image.jpg". Good, FileMaker's behaving responsibly.

           Can we trust that it will always recognise that the image pasted in the container is a new image even if it has same name and possibly size as a previous image?  What criteria does FileMaker 12 use to determine if an image is unique?

        • 1. Re: Container with External Image Storage using same image name

               And an even more interesting question to investigate.

               Say you insert the same image into the same container field in 3 different records. Then export the image, open it in an image editor and change a few pixels of the image and re-insert the modified image into 1 of the 3 records. Will just the image in that 1 record contain the updated image or will all three?

               If the programmers have done their jobs well, just the record where you inserted the modified copy should show the modification and it should be stored with an appended serial number to avoid file name duplication...

          • 2. Re: Container with External Image Storage using same image name

                 Thanks for the challenge. I created two images with different hues. Aside from the difference in colour all these characteristics were the same: Name, size, creation & modification dates.  The system correctly stored them separately.

                 Then I did as you suggested in your post; I duplicated a record three times and changed the image in only one of the records. Size and name stayed the same. The system stored the new image and correctly associated it with only the record I selected. The other two were still linked to the old version.

                 I've not been able to fool FileMaker. Its not doing something simplistic like relying on name or creation date. I'm assuming that its must then be taking a checksum of the whole image and storing it with the container data. Only when it encounters an image with same name and checksum will it skip storing the image and point to the twin already stored in its external folder.

                 It would be great if we could get confirmation of what I've expereinced. This will reassure users and developers that they can throw whatever they have at the containers and not need to worry about the system gettings its knickers in a knot. 

            • 3. Re: Container with External Image Storage using same image name

                   Sucn confirmation is unlikely to be forthcoming from this forum. FileMaker Inc. Personnel rarely participate in questions asked here as "fellow users" usually supply enough information needed to help people out.

                   You might click over to Report an Issue and browse through some of the issue reports looking for a response with someone whose forum name starts with "TS" such as TSGal or TSFalcon. You'd could then click their "avatar" (icon) to bring up a screen where you can send them a private message and you may get lucky and get an answer from one of them.

                   If you do, please post what you learn back here for the benefit of others.