# Class Attachment | EchoHub Documentation
A file attached to a message (image, audio, or any file). A message may carry zero or more attachments alongside its text content (Discord-style).

# Class Attachment

Namespace
  EchoHub.Core.Models

Assembly
  EchoHub.Core.dll

A file attached to a message (image, audio, or any file). A message may carry zero or more attachments alongside its text content (Discord-style).

    public class Attachment

Inheritance
  object
  Attachment

Inherited Members
  object.GetType()
  object.MemberwiseClone()
  object.ToString()
  object.Equals(object)
  object.Equals(object, object)
  object.ReferenceEquals(object, object)
  object.GetHashCode()

## Constructors

### Attachment()

    public Attachment()

## Properties

### AsciiPreview

Rendered ASCII-art preview for images (color-tag format). Null for audio/files. Stored encrypted-at-rest when database encryption is enabled, and room-encrypted for end-to-end encrypted channels.

    public string? AsciiPreview { get; set; }

#### Property Value

string

### FileName

    public required string FileName { get; set; }

#### Property Value

string

### FileSize

Stored blob size in bytes (ciphertext size for encrypted channels).

    public long FileSize { get; set; }

#### Property Value

long

### Id

    public Guid Id { get; set; }

#### Property Value

Guid

### Kind

    public AttachmentKind Kind { get; set; }

#### Property Value

AttachmentKind

### Message

    public Message? Message { get; set; }

#### Property Value

Message

### MessageId

    public Guid MessageId { get; set; }

#### Property Value

Guid

### Url

Relative download URL, e.g. `/api/files/{fileId}`.

    public required string Url { get; set; }

#### Property Value

string