Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

feat(dateien): Bilder aus der Zwischenablage einfügen (Strg+V)

Đang mở
#421 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
55/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
backend, desktop

Hướng nghiên cứu

Start with src/LageBuch.App.Shared/Views/FilesView.axaml.cs to understand the existing file-drop handling, then read src/LageBuch.AppLogic/ViewModels/FilesViewModel.cs and src/LageBuch.Domain/Files/IncidentFile.cs for upload paths and file constraints. Implementing clipboard paste and byte-based browser drops also needs desktop clipboard and drag-and-drop investigation; done means both routes accept sanitized, valid images within the existing size limit, with EXIF handling considered alongside #384.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

Rückmeldung aus der Praxis

Copy Paste in Dateien von Bildern einer Webseite oder aus der Zwischenablage

Heute

Die Zwischenablage wird nirgends angefasst. grep -riE "clipboard|paste|ctrl\+v" src/ liefert genau einen Treffer, und der ist ein unbeteiligter Kommentar in
Behaviors/IntegerOnly.cs. Kein TopLevel.Clipboard, kein
KeyBinding Gesture="Ctrl+V".

Drag & Drop gibt es — aber nur für Dateien vom Datenträger:

// src/LageBuch.App.Shared/Views/FilesView.axaml.cs
DataContext is FilesViewModel { IsReadOnly: false, IsUploading: false }
    && e.DataTransfer.Contains(DataFormat.File)

und aufgelöst wird über f.TryGetLocalPath(). Zieht man ein Bild direkt aus
dem Browser, liefert der Browser Bytes oder eine URL, keinen lokalen Pfad — der
Drop wird kommentarlos ignoriert. Das ist genau der Fall aus der
Rückmeldung.

Der eigentliche Hinderungsgrund

Der Aufnahmeweg ist durchgehend pfadbasiert:

// src/LageBuch.AppLogic/ViewModels/FilesViewModel.cs:187
public async Task AddFilesAsync(IReadOnlyList<string> paths)   // -> File.ReadAllBytesAsync

Es gibt keinen Einstieg, der ein byte[] entgegennimmt. Ein Bild aus der
Zwischenablage hat aber nie einen Pfad.

Vorschlag

  1. Ein AddBytesAsync(name, contentType, byte[]) neben AddFilesAsync, auf das
    beide neuen Wege einzahlen.
  2. Strg+V im Reiter DATEIEN, und zusätzlich Bild-Bytes beim Drop akzeptieren,
    nicht nur DataFormat.File.
  3. Einen Namen erzeugen, da keiner mitkommt — etwa
    Zwischenablage-20260920-1432.png. Der muss wie jeder andere durch
    IncidentFile.SanitizeFileName.

Die vorhandenen Schranken greifen unverändert: erlaubte Typen sind
jpg/jpeg/png/gif/webp/pdf, die Obergrenze 25 MB
(src/LageBuch.Domain/Files/IncidentFile.cs) — beides passt für
Zwischenablage-Bilder.

Zu bedenken

  • Ein Bild von einer Webseite bringt EXIF mit; #384 will das ohnehin
    abstreifen. Ein neuer Aufnahmeweg sollte dort gleich mit angeschlossen
    werden.
  • Android hat eine eigene Zwischenablage-Geschichte; das Issue ist erst einmal
    für den Desktop gedacht.

Verwandt: #347, #384, #383.

Ngôn ngữ chính
C#
Star
1
Fork
3
Merge trung bình
4 giờ 34 phút
Pull request đã merge (30 ngày)
182

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CodeForFire/lagebuch

Tất cả issue của CodeForFire/lagebuch

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.