File attachments have some additional flexibility where file types are effectively interchangeable (different spreadsheet formats, for example). However, for security, we now only allow files from a (wide) range of types: these are also now more carefully checked that they are what they claim to be.
Contents
Background
Orur recent addition to paste file attachment contents has offered the opportunity to do more with file uploads.
Cameo understands more kinds of file attachment for importing transactions. Because this means there is now some ambiguity between attaching a file to a statement and processing it for transactions, we have rearranged how you manage statement attachments. See more flexible transaction importing for more details about this.
Images
WebP
Almost anywhere you can send an image, you can now provide it in WebP format. Google developed WebP around 2010, and it is now pretty well supported. It is similar to JPEG but compresses better leading to smaller file sizes.
The exception is uploading files to your media library. That’s not because we couldn’t, but because images you put there will usually end up in emails. While all browsers can display WebP, support in email readers is patchy. This may change in future.
HEIC
Apple uses a proprietary image format HEIC to store camera images on iPhone and iPad. When you transfer an image out of Apple’s ecosystem, you still sometimes get a HEIC image, which is not useful. Web browsers cannot display HEIC images. Not all image editing software understands them. WordPress media library doesn’t know what to do with them. It is almost always unintentional to transfer in HEIC format. It depends how you do the transfer: many sharing methods convert. But if you email an image, you can end up sending a HEIC version.
So, Cameo now accepts HEIC images but converts them to JPEG when it receives one. This works around the unintentional mistake.
Independent of Cameo, if you want to be certain you are sending universally understood formats from your iPhone, you can change a setting to do this. In the Settings app, find Camera, then Formats and choose Most Compatible (which effectively means JPEG), instead of High Efficiency (which means HEIC).
PNG
PNG is a common format that works well for artwork, rather than photographs. Screenshots are usually provided as PNG, which is fine.
However, if you copy an image from a web page (by right clicking on it, and selecting copy image), the clipboard also holds the image as PNG, whatever the original format. This can lead to much larger files and poorer image quality.
Fortunately, all browsers also store the original URL alongside the image in the clipboard. So when you copy an image and paste it to Cameo, on receipt we try to retrieve the original image via its pasted URL. Sometimes web sites block server (non-human) visitors, in which case, we fall back to the PNG copy.
Spreadsheets
XLSX
Wherever Cameo accepts spreadsheets in CSV format, you can now also supply a Microsoft XLSX format file. What happens depends on the reason for the upload:
- Arbitrary attachment types, where you just store a file in order to retrieve it later: we store and retrieve the original file. You’ll see the XLSX icon next to it. For example, for member attachments or the file store.
- where Cameo does something with the contents, for example supplying bank transactions or importing memberships: we convert the file to CSV before processing.
TSV
TSV is a variant of CSV which uses tab characters instead of commas to separate columns. Cameo also converts TSV to CSV before processing.
It is unusual to see TSV files (though all spreadsheet software is capable of reading and writing them). However, when you copy spreadsheet cells from spreadsheet software or tables from web pages, the clipboard saves the content as TSV. Because you can now paste spreadsheets to Cameo, we treat them interchangeably with CSV.
Restricted file types
Previously Cameo had a block-list of file types it would not store: mostly executable computer code files. Now it uses an allow-list of commonly used file formats, and enforces that. If you have a requirement for a file type you want to store that is not on this list, we can arrange to add it.
Similarly, if there is demand, we can add other formats for file processing: for example, spreadsheets stored in LibreOffice’s native format.
