67 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: messenger.send.howto.file
title: 发送文件消息
type: howto
feature: messenger
scope: end-user
locale: zh
aliases:
- 怎么发文件
- 发个文件
- 发附件
- 上传文件
- 群里发文件
- 怎么发文档
related_tools: [send_message, search_files]
related_pages: [messenger, dialog_chat]
prerequisites: []
negative:
- 单个文件大小受系统设置 file_upload_limit 限制(默认无单独限制,按 PHP 上传配置
- 不支持文件夹直接拖入,需要逐个或压缩后上传
- 不支持已删除文件 ID 复用(通过 sendfileid 发送已删除文件会失败)
last_verified: v1.7.90
---
# 发送文件消息
发送文件sendfile支持拖拽、点击附件按钮、粘贴 / 截图、从「我的文件」选择等多种方式。文件保存到 `uploads/chat/yyyymm/dialog_id/` 目录。
## 入口
- 桌面端:会话输入框 → 左下角「+」/ 回形针图标 → 「上传文件」
- 桌面端:直接拖拽文件到会话窗口
- 桌面端粘贴板Ctrl+V粘贴图片 / 文件
- 移动端:会话底部 → 「+」 → 「文件」/「相册」/「相机」
## 操作步骤
1. 触发上传入口或拖入文件
2. 选择文件(可多选,支持 sendfiles 批量)
3. 客户端展示上传进度
4. 上传成功后立即以文件消息形态发到会话
## 字段说明
| 字段 | 含义 |
|---|---|
| files | 上传的文件multipart |
| filename | 自定义文件名(可选) |
| reply_id | 引用的消息 ID |
| image_attachment | 图片是否也写入任务附件库1=是) |
## 文件类型识别
后端根据扩展名自动识别 mtype
- jpg / jpeg / png / gif / webp → image图片
- 其他 → file普通文件
- mp4 / mov / mkv 等视频会单独处理
## 通过已有文件 ID 转发
走 sendfileid 可以把「我的文件」里现存文件以分享链接形式发到会话,不重复上传。
## 不支持
- 不支持发送大于系统文件上限的文件
- 不支持「群发但只让部分人下载」的权限隔离,群内所有成员均可下载