docs: 移动蓝绿部署指南到 troubleshooting 目录
This commit is contained in:
@@ -382,8 +382,11 @@ async function handleSend(): Promise<void> {
|
||||
*
|
||||
* 支持:
|
||||
* 1. 粘贴图片(截图工具 Ctrl+V / 复制图片)
|
||||
* 2. 粘贴文件(从文件管理器复制的文件)
|
||||
* 2. 粘贴文件(从文件管理器/文档复制的文件)
|
||||
* 3. 纯文本粘贴(默认行为,不拦截)
|
||||
*
|
||||
* 修复记录:
|
||||
* - v5.4: 扩展支持文档复制的图片(application/octet-stream等非标准MIME类型)
|
||||
*/
|
||||
async function handlePaste(event: ClipboardEvent): Promise<void> {
|
||||
const items = event.clipboardData?.items
|
||||
@@ -397,7 +400,11 @@ async function handlePaste(event: ClipboardEvent): Promise<void> {
|
||||
if (!file) continue
|
||||
|
||||
// 根据文件类型选择上传方式
|
||||
if (file.type.startsWith('image/')) {
|
||||
// 支持:标准image/*、文档复制的图片(可能是application/octet-stream或空类型但有文件扩展名)
|
||||
const isImage = file.type.startsWith('image/') ||
|
||||
file.name.match(/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico|tiff?)$/i)
|
||||
|
||||
if (isImage) {
|
||||
await handleImageUpload(file)
|
||||
} else {
|
||||
await handleFileUpload(file)
|
||||
@@ -416,6 +423,25 @@ async function handlePaste(event: ClipboardEvent): Promise<void> {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 情况3:文档/文件夹复制的项目(kind='string' 或 MIME类型未知但有文件)
|
||||
// 从Word/Excel/PDF等复制的图片,MIME可能是空的或非标准类型
|
||||
if (item.kind === 'string') {
|
||||
event.preventDefault()
|
||||
// 尝试作为文件获取
|
||||
const file = item.getAsFile()
|
||||
if (file) {
|
||||
// 检查是否是图片(按扩展名或MIME)
|
||||
const isImage = file.type.startsWith('image/') ||
|
||||
file.name.match(/\.(jpg|jpeg|png|gif|bmp|webp|svg|ico|tiff?)$/i)
|
||||
if (isImage) {
|
||||
await handleImageUpload(file)
|
||||
} else {
|
||||
await handleFileUpload(file)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
// 纯文本:不拦截,浏览器默认行为(插入文本到输入框)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user