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. 管理记录

    • 在控制台查看历史预览
    • 手动删除或等待自动过期

示例场景

用例:设计师向客户分享只读设计稿

  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