diff --git a/core/internal/server/clipboard/manager.go b/core/internal/server/clipboard/manager.go index 64ea88c6..dba84214 100644 --- a/core/internal/server/clipboard/manager.go +++ b/core/internal/server/clipboard/manager.go @@ -1615,6 +1615,8 @@ func (m *Manager) CopyFile(filePath string) error { m.updateState() m.notifySubscribers() + _, imgMime, imgErr := image.DecodeConfig(bytes.NewReader(fileData)) + m.post(func() { if m.dataControlMgr == nil || m.dataDevice == nil { log.Error("Data control manager or device not initialized") @@ -1638,6 +1640,11 @@ func (m *Manager) CopyFile(filePath string) error { {"text/plain", []byte(filePath)}, } + if imgErr == nil { + imgMimeType := "image/" + imgMime + offers = append(offers, offer{imgMimeType, fileData}) + } + offerData := make(map[string][]byte) for _, o := range offers { if err := source.Offer(o.mime); err != nil {