---
title: "Attachment Features"
canonical: "https://help.fieldbuddy.com/space/FBDOCS/6361481217/Attachment%20Features"
format: markdown
---
This document provides an overview of attachment features in Swift, including viewing, adding, and managing attachments linked to various records. The features can be summarized as followed:

- Attachments can be viewed and interacted with in the attachments tab of records like Work Orders and Installed Products, with options to filter by record type.
- You can add attachments through options like `Add file`, `Take Picture`, and `Add Images`.
- Actions available for attachments include viewing details, sharing, saving to a device, viewing on the web, and deleting, with restrictions based on ownership and sync status.
- Attachments can be added to checklist items via swipeable menus or picture fields, with limitations on adding during checklist creation and syncing requirements.
- Swift handles uploads by compressing certain image types and uploads in batches, while downloads prioritize thumbnails for quick loading.

For more details, refer to the full documentation below.

# Attachment Lists

Attachments linked to a work order, installed products, work order items, or any other record are accessible in the attachments tab of that record.

In this section, you can view and interact with attachments associated with a work order, including those linked indirectly through installed products and work order items, such as checklists. When you select a filter, only attachments related to that record type will appear.

The list provides the following information about each attachment:

- Thumbnail (if the attachment is an image)
- File name
- Description (if available)
- File size
- File extension
- Any errors encountered during the upload process

You can add attachments using the following options, depending on the context:

- **Add file**: Opens the file picker on your device, allowing you to select any file from your document directory. This option is available only for work orders, not for installed products or work order items like checklists.
- **Take Picture**: Opens your device's camera to capture an image, which will be attached to the record.
- **Add Images**: Opens the image picker on your device, enabling you to select images from your photo gallery.

In the Installed Products Attachment context, you can choose the record to which the attachment will be linked. This can be either the Work Order or the Installed Product.

## Attachment Actions in Attachment Lists

You can take several actions with an attachment, including:

- **Details**: Opens the details of the attachment, allowing you to preview and edit them.
- **More options**: Opens a context menu with the following options:
  - **Share**: Opens the share menu for the selected attachment, enabling you to share it with others, save it to your gallery or document directory, or choose another app to open it.
  - **Save to device**: Downloads the attachment if needed and saves it to your device. Images are automatically saved to your photo gallery, while non-image files open the share menu for saving to your documents directory.
  - **View on web**: Allows you to view the server-side version of the attachment. This option requires an internet connection and an active session. If you lack an active session, you may need to re-login before accessing the file.
  - **Delete**: Enables you to delete the attachment. Deleted attachments will also be removed from the server after a sync. You can only delete attachments you own (e.g., those you uploaded).

## Attachments in Checklists

You can add attachments to checklist items in two ways:

- **Swipeable menu**: If `checklistShowActions.attachments` is set to `true` in your user config, you can attach unlimited images to any checklist item after it’s inserted. See [documentation](https://help.fieldbuddy.com/space/FBDOCS/5670535260/items) for more details.
- **Picture fields**: Checklists may include dedicated picture fields, allowing you to attach one attachment per field.

### Special Considerations for Attachments in Checklists

- While adding/inserting a checklist, you cannot attach files to any items in it. After saving the checklist by pressing the save button, you can add attachments as usual.
- If the checklist is not synced yet, attachments linked to checklist items will not upload until the next sync. They will be shown as pending.
- Uploading of attachments starts when you exit or save a checklist.
- Picture fields (see the picture on the right below) support the attachment of only 1 picture. Attaching another picture to a picture filed that already has a picture attached <u>replaces</u> the previously attached picture.
  Swipeable picture option (see the picture on the right below) support the attachment of unlimited pictures.

# Attachment Details

Selecting an attachment in the list opens its details, allowing you to preview and edit them.

The previously selected filter in the attachment list determines which attachments appear in the details area.

Scroll up to view the attachment details. If a field is editable, you can make changes, which will sync with the server during the next update.

You can also access attachment actions via the horizontal dots icon in the upper right corner of the screen. These actions mirror those available in the attachment list.

### Special Considerations for Attachment Details

- PDF previews are supported only on iOS devices with a stable internet connection.
- You cannot edit the details of an attachment linked to a checklist item that has not yet synced. You must sync to edit them.

# Attachment Upload and Download Flows

This section provides an overview of how Swift manages uploads and downloads, highlighting the influence of various factors.

## Upload Flows

In most cases, Swift follows this generic upload flow:

Processing & Compression → Upload

Exceptions are made based on:

- Whether the linked record is unsynced (local) or synced
- User configuration settings

Details of these exceptions are outlined below.

#### Processing & Compression

This stage begins when you select an attachment on the device and continues until Swift generates an internal representation of the file, which may be compressed. 

Once the internal representation is ready, you can view the attachment in the app. Swift automatically compresses selected files of the following types:

- JPG/JPEG
- PNG
- HEIC/HEIF (the default image format on iOS devices)
  - Please keep in mind that HEIC/HEIF to JPEG conversions might increase the size of the file, even after compression.

Swift does not compress other file types.

The file size reflects the compressed size only if the attachment was compressed before uploading.

During processing, Swift renames image files with timestamps. This step does not apply to non-image files, which retain their original names.

You can find user configuration settings for compression in the [documentation](https://help.fieldbuddy.com/space/FBDOCS/5670830130/attachments).

**Limitations**

- You cannot pick a file/image larger than 35 Mb.

#### Upload

This stage begins once all files are processed and compressed, if necessary.

Swift uploads files in batches to the server. The upload duration primarily depends on:

- File size: Larger files take longer to upload. Zipping large files before upload is recommended.
- Unifiedness: Uploading many files individually creates multiple fragmented uploads, while uploading a zipped/merged file bundles them into a single aggregated upload, which is more efficient. If you want to upload many files at once, zipping them into a single file before upload is recommended.
- Upload speed: Poor network conditions slow down file uploads. Attempting uploads only when you have a stable connection is recommended.

If an attachment links to a local record, such as a checklist item that hasn’t synced yet, its upload is delayed until that record is synced. These are known as **pending uploads**, and can be seen in drawer or tabs.

## Download Flow

If a sync returns attachments for download, Swift retrieves them whenever the attachment lists require display.

Swift initially downloads only thumbnail versions of images, as they are smaller and load faster than full versions.

High-resolution images are downloaded only when you view them in the attachment details.

A user configuration setting allows for always downloading high-resolution images if preferred. However, this may result in poor performance if the attachments are large. For details, see the [documentation](https://upperdeck.atlassian.net/wiki/spaces/FBDOCS/pages/5670830130).