入门指南
3 种方式快速创建安全的预览链接
入门指南
PreviewFile.dev 提供三种核心方式创建安全的预览链接,适合轻量用户、企业用户与开发者快速上手。
初次使用?这份指南会结合示例带你完成三种常见场景。
场景 1:直接 URL 预览(无需登录)
适用:快速分享任意网页资源(图片、视频、PDF 等),隐藏原始地址
操作步骤
-
访问短链生成接口
https://previewfile.dev/u?url=[YOUR_ORIGINAL_URL]示例:
https://previewfile.dev/u?url=https://example.com/sensitive-document.pdf -
获得预览链接
- 系统自动生成短链:
/p/abc123xyz - 完整链接:
https://previewfile.dev/p/abc123xyz
- 系统自动生成短链:
-
分享
- 访问
/p/abc123xyz即可查看 - 原始 URL 完全隐藏
- 链接按配置自动过期(默认 1 小时)
- 访问
示例场景
用例:分享公司内部报告且不暴露 S3 路径
# 浏览器输入
https://previewfile.dev/u?url=https://s3.company.com/reports/Q3-2025.pdf
# 返回短链
https://previewfile.dev/p/x7k2m9n
# 将短链分享给团队优势
- ✅ 无需注册登录
- ✅ 即刻生成预览链接
- ✅ 隐藏原始地址
- ✅ 自动过期保护
场景 2:浏览器上传文件(需登录)
适用:上传本地文件在线预览,并配置高级安全策略
操作步骤
-
访问首页
- 打开
https://previewfile.dev - 看到上传组件
- 打开
-
拖拽/选择文件
- 拖拽到上传区域,或点击“上传文件”
-
登录提示
- 首次上传会要求登录
- 支持 GitHub / Google / 邮箱快捷登录
-
可选安全策略
- 有效期:15 分钟 ~ 7 天(受套餐限制,默认 1 小时)
- 动态水印:添加水印文字
- 禁止下载:仅可在线查看
- 一次性链接:访问一次即失效
-
生成预览链接
- 点击“生成预览链接”
- 获得
/p/[shortUrl]地址
-
管理记录
- 在控制台查看历史预览
- 手动删除或等待自动过期
示例场景
用例:设计师向客户分享只读设计稿
- 上传
design-final.psd - 勾选“禁止下载”
- 将“动态水印”设为“Client Preview Only”
- 设置有效期 24 小时
- 获取链接
https://previewfile.dev/p/d3s1gn42 - 客户只能在线查看,无法下载原稿
优势
- ✅ 支持本地文件上传
- ✅ 灵活安全策略
- ✅ 登录后可统一管理记录
- ✅ 适合企业内部协作
场景 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}')应用场景
-
SaaS 集成
- 上传后自动生成预览链接
- 将临时链接放入通知邮件
-
CRM
- 向客户分享合同/发票
- 自动配置有效期与下载限制
-
内部协作
- 批量生成团队文档的预览地址
- 集中管理权限与有效期
优势
- ✅ 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]