图片与附件管理
概述
Obsidian 支持在笔记中嵌入各种类型的附件,包括:
| 类型 | 支持格式 | 用途 |
|---|---|---|
| 图片 | PNG, JPG, GIF, SVG, WebP | 截图、插图、照片 |
| 音频 | MP3, WAV, M4A, OGG | 录音、音乐 |
| 视频 | MP4, WebM, MOV | 视频片段 |
| 文档 | PDF, DOCX, XLSX | 参考资料 |
| 其他 | 任意文件 | 备份、存储 |
嵌入图片
粘贴图片
最简单的方式是直接粘贴:
- 复制图片到剪贴板
- 在笔记中按
Ctrl/Cmd + V - 图片自动保存并嵌入
拖拽图片
将图片文件直接拖入编辑器:
- 拖入后自动复制到仓库
- 自动生成 Markdown 链接
Markdown 语法
markdown

# 示例

内部链接语法
markdown
![[@图片名称]]
# 示例
![[screenshot.png]]
![[diagram.svg|300]] # 设置宽度
![[photo.jpg|200x150]] # 设置宽高图片显示选项
调整大小
markdown
# 设置宽度(保持比例)
![[image.png|300]]
# 设置宽度和高度
![[image.png|200x150]]
# 百分比
使用 CSS 片段设置百分比图片位置
使用 CSS 类控制对齐:
markdown
![[image.png|center]]
![[image.png|left]]
![[image.png|right]]需要添加 CSS 片段:
css
/* 图片对齐 */
img[alt*="center"] {
display: block;
margin: 0 auto;
}
img[alt*="left"] {
float: left;
margin-right: 1em;
}
img[alt*="right"] {
float: right;
margin-left: 1em;
}图片说明
markdown
# 方法一:Markdown 语法

# 方法二:HTML 标签
<figure>
<img src="image.png" alt="图片">
<figcaption>图片说明文字</figcaption>
</figure>附件存储策略
默认存储位置
默认情况下,附件保存在仓库根目录。
自定义附件文件夹
- 打开设置 → 文件与链接
- 找到「附件默认存放路径」
- 设置文件夹路径(如
attachments/)
推荐目录结构
vault/
├── attachments/ # 全局附件文件夹
│ ├── images/ # 图片
│ ├── audio/ # 音频
│ ├── video/ # 视频
│ └── documents/ # PDF 等文档
├── projects/
│ └── project-a/
│ └── assets/ # 项目专属附件
└── notes/按项目组织
对于大型项目,建议:
yaml
项目附件策略:
项目专属:
- 在项目文件夹下创建 assets/ 目录
- 使用相对路径引用
共享资源:
- 放在全局 attachments/ 目录
- 使用根路径引用图片管理插件
推荐插件
| 插件名称 | 功能描述 |
|---|---|
| Image Toolkit | 图片预览、缩放、旋转 |
| Paste image rename | 自动重命名粘贴的图片 |
| Ozan Image in Editor Plugin | 编辑器内图片预览 |
| Imgur Plugin | 上传图片到 Imgur |
| Custom Attachment Location | 自定义附件命名规则 |
| Attachment Management | 附件管理增强 |
Paste image rename 配置
自动重命名粘贴的图片:
yaml
设置:
图片命名格式: "{{fileName}}-{{date}}-{{number}}"
示例:
笔记: 项目计划.md
图片: 项目计划-20240115-001.pngImage Toolkit 功能
- 图片预览放大
- 图片旋转翻转
- 图片裁剪
- 图片导出
图片优化
压缩图片
大图片会影响同步和加载速度,建议压缩:
yaml
压缩建议:
截图:
- 使用 PNG 格式
- 分辨率不超过 1920px
照片:
- 使用 JPG 格式
- 质量 80% 左右
- 适当降低分辨率
网页图片:
- 使用 WebP 格式
- 更小的文件体积压缩工具
| 工具 | 平台 | 说明 |
|---|---|---|
| TinyPNG | 网页 | 在线压缩 PNG/JPG |
| Squoosh | 网页 | Google 出品 |
| ImageOptim | macOS | 本地压缩 |
| PNGGauntlet | Windows | 本地压缩 |
批量优化
bash
# 使用 ImageMagick 批量调整大小
mogrify -resize 1920x1080\> *.png
# 批量转换为 WebP
for f in *.png; do cwebp "$f" -o "${f%.png}.webp"; done音频和视频
嵌入音频
markdown
# 内部链接
![[recording.mp3]]
# HTML 音频播放器
<audio controls src="audio.mp3"></audio>嵌入视频
markdown
# 内部链接
![[video.mp4]]
# HTML 视频播放器
<video controls width="500">
<source src="video.mp4" type="video/mp4">
</video>嵌入在线视频
markdown
# YouTube
<iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID"></iframe>
# Bilibili
<iframe src="//player.bilibili.com/player.html?bvid=BV_ID" width="560" height="315"></iframe>PDF 管理
嵌入 PDF
markdown
# 链接到 PDF
[[document.pdf]]
# 嵌入 PDF(显示内容)
![[document.pdf]]
# 嵌入 PDF 特定页面
![[document.pdf#page=5]]
# 嵌入 PDF 并设置高度
![[document.pdf#height=600]]PDF 标注
使用 PDF 标注插件:
- 打开 PDF 文件
- 进行高亮、注释
- 标注自动保存到笔记
详见 PDF 标注功能。
网页嵌入
iframe 嵌入
markdown
# 嵌入网页
<iframe src="https://example.com" width="100%" height="400"></iframe>
# 嵌入 Google 地图
<iframe src="https://www.google.com/maps/embed?..."></iframe>网页截图
对于需要保存的网页内容:
- 使用浏览器截图功能
- 或使用 Full Web Page Screenshot 插件
- 将截图保存为附件
附件清理
查找未使用的附件
使用 Dataview 查询:
dataview
LIST
FROM "attachments"
WHERE !file.inlinks清理脚本
python
# 查找未引用的图片(Python 脚本)
import os
import re
vault_path = "/path/to/vault"
attachments_path = os.path.join(vault_path, "attachments")
# 获取所有图片
images = set()
for f in os.listdir(attachments_path):
if f.endswith(('.png', '.jpg', '.gif', '.svg')):
images.add(f)
# 查找引用
referenced = set()
for root, dirs, files in os.walk(vault_path):
for f in files:
if f.endswith('.md'):
with open(os.path.join(root, f)) as file:
content = file.read()
for img in images:
if img in content:
referenced.add(img)
# 输出未引用的图片
unused = images - referenced
for img in unused:
print(img)使用插件清理
- Clear Unused Images:自动清理未使用的图片
- Find Unlinked Files:查找未链接的文件
最佳实践
命名规范
yaml
推荐命名:
使用英文: 避免路径编码问题
包含日期: 方便排序
描述性名称: 知道内容是什么
示例:
- 20240115-product-screenshot.png
- project-alpha-diagram.svg
- meeting-notes-audio.mp3文件夹组织
yaml
组织建议:
小仓库:
- 单一 attachments/ 文件夹
- 按类型分子文件夹
大仓库:
- 全局共享资源集中管理
- 项目附件分散到各项目
团队协作:
- 统一命名规范
- 定期清理未使用附件备份策略
yaml
备份建议:
图片资源:
- 使用 Git 管理
- 或单独备份到云存储
大文件:
- 使用 Git LFS
- 或存储在外部服务(图床)常见问题
图片无法显示?
- 检查路径是否正确
- 检查文件名大小写
- 检查文件是否存在于仓库中
- 检查是否有特殊字符
图片太大怎么办?
- 压缩图片后再插入
- 使用 CSS 限制显示大小
- 考虑使用图床存储
如何迁移图片?
使用插件「Attachment Management」:
- 打开插件设置
- 选择「迁移所有附件」
- 设置新的存储路径
- 执行迁移
下一步
- Markdown 语法 - 学习更多格式化
- PDF 标注功能 - PDF 文档处理
- 导入笔记 - 从其他应用迁移