PreviewFile IconPreviewFile.dev

入門指南

3 種方式快速建立安全的預覽連結

入門指南

PreviewFile.dev 提供三種核心方式建立安全的預覽連結,適合輕量用戶、企業用戶與開發者快速上手。

第一次使用?本指南會透過範例帶你完成三種常見情境。


情境 1:直接 URL 預覽(免登入)

適用:快速分享任意網頁資源(圖片、影片、PDF 等),隱藏原始網址

操作步驟

  1. 造訪短鏈生成端點

    https://previewfile.dev/u?url=[YOUR_ORIGINAL_URL]

    範例:

    https://previewfile.dev/u?url=https://example.com/sensitive-document.pdf
  2. 取得預覽連結

    • 系統自動生成短鏈:/p/abc123xyz
    • 完整連結:https://previewfile.dev/p/abc123xyz
  3. 分享

    • 訪問 /p/abc123xyz 即可查看
    • 原始 URL 完全隱藏
    • 連結依配置自動過期(預設 1 小時)

範例情境

用例:分享公司內部報告且不暴露 S3 路徑

# 瀏覽器輸入
https://previewfile.dev/u?url=https://s3.company.com/reports/Q3-2025.pdf

# 回傳短鏈
https://previewfile.dev/p/x7k2m9n

# 將短鏈分享給團隊

優勢

  • ✅ 無需註冊登入
  • ✅ 立即生成預覽連結
  • ✅ 隱藏原始地址
  • ✅ 自動過期保護

情境 2:瀏覽器上傳檔案(需登入)

適用:上傳本地檔案線上預覽,並配置進階安全策略

操作步驟

  1. 造訪首頁

    • 開啟 https://previewfile.dev
    • 看到上傳元件
  2. 拖曳/選取檔案

    • 拖到上傳區域,或點擊「上傳檔案」
  3. 登入提示

    • 首次上傳會要求登入
    • 支援 GitHub / Google / 信箱快捷登入
  4. 可選安全策略

    • 有效期:15 分鐘 ~ 7 天(受方案限制,預設 1 小時)
    • 動態浮水印:加入水印文字
    • 禁止下載:僅可線上檢視
    • 一次性連結:訪問一次即失效
  5. 生成預覽連結

    • 點擊「生成預覽連結」
    • 獲得 /p/[shortUrl] 地址
  6. 管理紀錄

    • 在 Dashboard 查看歷史預覽
    • 手動刪除或等候自動過期

範例情境

用例:設計師向客戶分享只讀設計稿

  1. 上傳 design-final.psd
  2. 勾選「禁止下載」
  3. 將「動態浮水印」設為「Client Preview Only」
  4. 設定有效期 24 小時
  5. 取得連結 https://previewfile.dev/p/d3s1gn42
  6. 客戶只能線上查看,無法下載原稿

優勢

  • ✅ 支援本地檔案上傳
  • ✅ 彈性安全策略
  • ✅ 登入後可統一管理紀錄
  • ✅ 適合企業內部協作

情境 3:開發者 API 整合

適用:在應用中整合檔案預覽,批次生成預覽連結

端點

POST /api/u
Content-Type: application/json
x-api-key: YOUR_API_KEY

請求範例

{
  "url": "https://example.com/document.pdf",
  "ttlMinutes": 60,
  "watermark": "Confidential",
  "noDownload": true,
  "oneTime": false
}

回應範例

{
  "success": true,
  "data": {
    "shortUrl": "a1b2c3d4",
    "previewUrl": "https://previewfile.dev/p/a1b2c3d4",
    "expireAt": "2025-10-02T15:30:00Z",
    "status": "READY"
  }
}

整合示例

Node.js

const fetch = require('node-fetch');

async function createPreview(originalUrl) {
  const response = await fetch('https://previewfile.dev/api/u', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${process.env.PREVIEWFILE_API_KEY}`
    },
    body: JSON.stringify({
      url: originalUrl,
      ttlMinutes: 120,
      noDownload: true
    })
  });

  const result = await response.json();
  return result.data.previewUrl;
}

// 使用
const previewLink = await createPreview('https://cdn.company.com/invoice-2025.pdf');
console.log('Preview link:', previewLink);

Python

import requests

def create_preview(original_url):
    response = requests.post(
        'https://previewfile.dev/api/u',
        headers={
            'Content-Type': 'application/json',
            'Authorization': f'Bearer {API_KEY}'
        },
        json={
            'url': original_url,
            'ttlMinutes': 120,
            'noDownload': True
        }
    )
    data = response.json()
    return data['data']['previewUrl']

# 使用
preview_link = create_preview('https://cdn.company.com/invoice-2025.pdf')
print(f'Preview link: {preview_link}')

應用場景

  1. SaaS 整合

    • 上傳後自動生成預覽連結
    • 在郵件通知中加入臨時連結
  2. CRM

    • 與客戶分享合約/發票
    • 自動設定有效期與下載限制
  3. 內部協作

    • 批次生成團隊文件的預覽地址
    • 集中管理權限與有效期

優勢

  • ✅ RESTful,易於整合
  • ✅ 支援批量操作
  • ✅ 完整錯誤處理與重試
  • ✅ 可平滑嵌入既有系統

安全策略說明

1. TTL(有效期)

  • 可設定 15 分鐘到 7 天(受方案限制,預設 1 小時)
  • 到期自動失效
  • 適合臨時分享、敏感文件

2. 動態浮水印

  • 在預覽頁覆蓋文字水印
  • 可包含使用者名稱、時間戳
  • 適合版權保護、稽核

3. 禁止下載

  • 只能線上查看
  • 阻擋右鍵儲存、拖曳下載
  • 適合設計審核、合約預覽

4. 一次性連結

  • 首次訪問後立即過期
  • 適合密碼傳遞、一次性授權

FAQ

Q1:免費用戶有哪些限制?

答:每月 10 次預覽,單檔 10MB,最長 24 小時有效期。

Q2:上傳檔案存放在哪?

答:檔案加密儲存,到期自動刪除。付費用戶可選擇私有部署。

Q3:預覽連結可以修改嗎?

答:不可修改,可刪除舊連結後重新生成。

Q4:支援哪些檔案類型?

答:圖片(JPG/PNG/GIF/WebP)、PDF、影片(MP4/WebM)、Office 文件等。

Q5:API 有速率限制嗎?

答:免費 10/天,付費 100-10000/天(依方案而定)。


下一步


需要協助? 聯繫:[email protected]

On this page