# 如何在 Oysterun 傳送圖片與媒體

從 Session 聊天一次傳送單一或多個媒體項目，檢查順序、共用說明文字，以及原始檔與有界顯示版本的差異。

使用本指南，從 Oysterun Session 傳送單一圖片，或由圖片、影片、音訊與檔案組成的群組。你會檢查暫存順序、加入一段說明文字、只傳送一次、查看結果，並理解 Oysterun 何時會儲存有界的顯示圖片，而不是完整尺寸的原始檔。

簡短原則：

一次選取可以包含一個或多個檔案。多檔案的 Send 應成為一則群組化使用者訊息，附件依序排列，且只有一段共用說明文字。大型且受支援的靜態圖片可能會換成較小的顯示上傳版本，因此圖片檢視器的

Download

不一定會取回你所選的完整尺寸原始檔。

## 開始前

- 你的 Oysterun Host 已連線，而且目標 Session 聊天已開啟。
- 訊息編輯器顯示 **Attach files** 控制與 **Send message** 操作。
- 檔案位於目前使用的裝置，而且你可以將每個項目提供給該 Session 的 provider。
- 如果完整解析度很重要，你已自行保留原始檔。Oysterun 不是原始圖片封存工具。

**起始畫面：**開啟相關 Session 聊天，捲動到頁面底部的訊息編輯器。

## 1. 選擇符合目標的媒體傳送方式

你選擇的檔案

Oysterun 可能上傳的內容

傳送後的預期結果

大型靜態 JPEG、PNG 或 WebP

當 Oysterun 能安全建立比原始檔更小的版本時，使用較小的顯示版本

保留相同的視覺主體與長寬比例，而且該訊息不會另存第二份完整尺寸原始檔

已在顯示界線內的受支援靜態圖片

原始檔 bytes；Oysterun 不會將它放大

圖片以可用尺寸顯示

動態 GIF、動態 WebP 或 PNG、HEIC/HEIF，或 Oysterun 無法安全轉換的圖片

在 Session 上傳限制允許時，使用原始檔

檔案可以傳送，但瀏覽器不保證能預覽每一種格式

影片、音訊或其他非圖片附件

一般上傳限制內的原始附件

依格式顯示播放控制或可下載的檔案

不需要可見的壓縮開關。

Oysterun 會在 Send 時判斷能否建立安全的顯示圖片。完整解析度很重要時，請保留你的本機原始檔。

## 2. 傳送單一圖片或媒體項目

1. 選擇 **Attach files**。
1. 在裝置的檔案選擇器中選取一個檔案，再返回 Oysterun。
1. 在 **Files** 面板確認檔名以及本機預覽或檔案資訊符合你的選擇。**Staged** 徽章代表檔案尚未上傳。
1. 如果選錯檔案，使用該檔案的 **Cancel Upload**，或選擇 **Remove**，再選取正確檔案。
1. 在 **Send a message...** 編輯器中輸入選用的說明文字。
1. 只選擇一次 **Send message**。

檢查點：

同一個 Session 出現一則包含所選項目的使用者訊息。如果你輸入說明文字，它會與該項目一起出現一次。單檔案傳送會使用一般的圖片、影片、音訊或檔案呈現方式，不必顯示成多檔案群組。

## 3. 將多個項目傳送成一則群組訊息

![完整的 Oysterun Session 訊息編輯器與 Files 面板顯示兩個範例檔案依序暫存，並共用一段說明文字。](../assets/publication/staged-ordered-group.jpg)

畫面檢查點：Files 面板依序顯示 01-publication-note.txt 與 02-oysterun-guide.png，兩者皆為 Staged，且只有一段準備傳送的共用說明文字。

![一則已送出的 Oysterun 時間軸訊息包含依序排列的檔案與圖片附件，以及一段共用說明文字。](../assets/publication/sent-ordered-group.jpg)

畫面檢查點：一則已送出訊息保留暫存附件順序，而且共用說明文字恰好顯示一次。

1. 選擇 **Attach files**，在同一個選擇器選取所有預定檔案；或重複開啟 **Attach files**，直到每個項目都位於同一份草稿中。
1. 開啟 **Files** 面板，從第一張到最後一張讀取檔案卡片。傳送後的群組應保留這個順序。
1. 如果項目或順序錯誤，使用單一項目的 **Cancel Upload** 或 **Remove All**，再於傳送前依正確順序重新選取。
1. 在編輯器輸入一段選用的說明文字。整個群組共用這段文字。
1. 只選擇一次 **Send message**。傳送進行中時，Oysterun 可能顯示 **Uploading N staged files for Send...**。

關於 Staged 提示：

目前的提示可能會說檔案將以「one media event per file」傳送。不要把該提示當成最終檢查點。Send 後受支援的結果是一則群組化使用者訊息。如果重新載入一次後，時間軸實際上仍分裂顯示，請依照復原章節處理，不要重新傳送。

檢查點：

時間軸顯示一則群組化使用者訊息，每個附件保留暫存順序，而且共用說明文字只出現一次，而不是每個項目各出現一次。

## 4. 查看已傳送的項目

![範例牡蠣插圖以正確比例在完整的 Oysterun 圖片檢視器中開啟。](../assets/publication/safe-image-viewer.jpg)

畫面檢查點：完整檢視器保留範例圖片的主體與比例，並顯示 Zoom Out、100%、Zoom In 與 Download。

1. 在 Session 時間軸找出剛才傳送的訊息。
1. 如果 Oysterun 尚未載入圖片，請選擇 **View**。接著選取已顯示的圖片，開啟圖片檢視器。
1. 視需要使用可見的檢視器控制：

- Zoom Out
- 百分比
- Zoom In
- Download

1. 確認圖片保留所選檔案的主體與比例。檢視器可能顯示有界上傳版本，而不是完整尺寸原始檔。
1. 影片或音訊請使用其播放控制；可下載的附件請使用檔名旁的下載箭頭控制。
1. 如果是群組，從第一個到最後一個檢查所有項目，再確認說明文字只在群組下方出現一次。

檢查點：

已傳送訊息內的每個所選項目都能存取，順序正確，而且說明文字沒有遺漏或重複。

## 5. 理解顯示尺寸與下載的 bytes

對於超過顯示界線且受支援的靜態 JPEG、PNG 或 WebP，Oysterun 可以讓長邊不超過 1280 pixels、保留長寬比例，而且不會放大圖片。有損 JPEG 或 WebP 輸出會使用接近 0.75 的一般顯示品質目標。如果產生的版本不會更小，或轉換並不安全，Oysterun 會改用原始上傳內容。

Download 的意義：

Download

會取得該訊息實際儲存的 bytes。若使用有界顯示圖片，下載的是顯示版本，而不是隱藏的第二份完整尺寸原始檔。略過轉換時，儲存的就是原始上傳 bytes。

多檔案群組中的每張圖片會分別處理。一個項目可能使用有界顯示版本，另一個項目則保留原始 bytes；群組順序與單一說明文字的行為不會因此改變。

## 6. 上傳或顯示失敗時安全復原

- **File uploads unavailable：**等待 Session 與媒體設定完成載入，再重新開啟同一個 Session 一次。如果控制仍不可用，請停止並要求 Host 管理者檢查檔案上傳是否可用。
- **檔案超過限制：**使用 **Cancel Upload**、**Remove** 或 **Remove All**，再選擇較小且允許的檔案。不要持續對同一份超過限制的草稿按下 Send。
- **Media send failed：**重新載入同一個聊天一次，並在重試前查看時間軸。如果訊息已存在，請勿重送。如果訊息不存在且草稿仍保留，請在連線穩定後重試一次。
- **Failed to load image：**選擇一次 **Retry**。如果仍失敗，使用可用的下載控制或停止；重複傳送無法修復已儲存的媒體。
- **群組分裂、順序改變或重複說明文字：**重新載入一次並查看同一則已傳送訊息。如果問題仍存在，請保留可見結果並停止，不要再次傳送檔案。

安全停止點：

重新載入一次並進行一次有界重試後，請保留暫存或已傳送的訊息與可見錯誤。不要只為了改變顯示方式而建立重複的媒體訊息。

## 7. 完成檢查

1. 使用圖片檢視器的向左箭頭控制關閉檢視器，或返回 Session 時間軸。
1. 確認該訊息在時間軸中仍是一個項目，即使內含多個附件也是如此。
1. 確認附件順序、單一說明文字，以及儲存的圖片是否可能為有界顯示版本。

完成：

你已將預定媒體傳送一次、查看每個可見項目，並保留本機原始檔與 Oysterun 為顯示而儲存的 bytes 之間的差異。
