Files
EchoHub/api/server/EchoHub.Server.Config.UploadLimits.html
T
2026-07-16 14:53:28 +00:00

565 lines
19 KiB
HTML
Raw 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.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class UploadLimits | EchoHub Documentation </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class UploadLimits | EchoHub Documentation ">
<meta name="description" content="Admin-configurable upload limits, bound from the Uploads configuration section. Sizes are expressed in megabytes in configuration; the *Bytes accessors convert them for enforcement. Every default mirrors so an absent or partial Uploads section preserves the historical built-in limits.">
<link rel="icon" href="../../images/hue_icon.svg">
<link rel="stylesheet" href="../../public/docfx.min.css">
<link rel="stylesheet" href="../../public/main.css">
<meta name="docfx:navrel" content="../../toc.html">
<meta name="docfx:tocrel" content="../toc.html">
<meta name="docfx:rel" content="../../">
<meta name="docfx:docurl" content="https://github.com/HueByte/EchoHub/new/master/apiSpec/new?filename=EchoHub_Server_Config_UploadLimits.md&amp;value=---%0Auid%3A%20EchoHub.Server.Config.UploadLimits%0Asummary%3A%20&#39;*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax&#39;%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../../index.html">
<img id="logo" class="svg" src="../../images/hue_icon.svg" alt="EchoHub">
EchoHub
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="EchoHub.Server.Config.UploadLimits">
<h1 id="EchoHub_Server_Config_UploadLimits" data-uid="EchoHub.Server.Config.UploadLimits" class="text-break">
Class UploadLimits <a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="EchoHub.html">EchoHub</a>.<a class="xref" href="EchoHub.Server.html">Server</a>.<a class="xref" href="EchoHub.Server.Config.html">Config</a></dd></dl>
<dl><dt>Assembly</dt><dd>EchoHub.Server.dll</dd></dl>
</div>
<div class="markdown summary"><p>Admin-configurable upload limits, bound from the <code>Uploads</code> configuration section.
Sizes are expressed in megabytes in configuration; the <code>*Bytes</code> accessors convert them
for enforcement. Every default mirrors <a class="xref" href="../core/EchoHub.Core.Constants.HubConstants.html">HubConstants</a> so an absent or partial
<code>Uploads</code> section preserves the historical built-in limits.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public sealed class UploadLimits</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">UploadLimits</span></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
</dd></dl>
<h2 class="section" id="constructors">Constructors
</h2>
<a id="EchoHub_Server_Config_UploadLimits__ctor_" data-uid="EchoHub.Server.Config.UploadLimits.#ctor*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits__ctor" data-uid="EchoHub.Server.Config.UploadLimits.#ctor">
UploadLimits()
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public UploadLimits()</code></pre>
</div>
<h2 class="section" id="properties">Properties
</h2>
<a id="EchoHub_Server_Config_UploadLimits_MaxAttachmentsPerMessage_" data-uid="EchoHub.Server.Config.UploadLimits.MaxAttachmentsPerMessage*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxAttachmentsPerMessage" data-uid="EchoHub.Server.Config.UploadLimits.MaxAttachmentsPerMessage">
MaxAttachmentsPerMessage
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxAttachmentsPerMessage { get; init; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxAudioSizeBytes_" data-uid="EchoHub.Server.Config.UploadLimits.MaxAudioSizeBytes*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxAudioSizeBytes" data-uid="EchoHub.Server.Config.UploadLimits.MaxAudioSizeBytes">
MaxAudioSizeBytes
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxAudioSizeBytes { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxAudioSizeMB_" data-uid="EchoHub.Server.Config.UploadLimits.MaxAudioSizeMB*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxAudioSizeMB" data-uid="EchoHub.Server.Config.UploadLimits.MaxAudioSizeMB">
MaxAudioSizeMB
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxAudioSizeMB { get; init; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxAvatarSizeBytes_" data-uid="EchoHub.Server.Config.UploadLimits.MaxAvatarSizeBytes*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxAvatarSizeBytes" data-uid="EchoHub.Server.Config.UploadLimits.MaxAvatarSizeBytes">
MaxAvatarSizeBytes
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxAvatarSizeBytes { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxAvatarSizeMB_" data-uid="EchoHub.Server.Config.UploadLimits.MaxAvatarSizeMB*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxAvatarSizeMB" data-uid="EchoHub.Server.Config.UploadLimits.MaxAvatarSizeMB">
MaxAvatarSizeMB
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxAvatarSizeMB { get; init; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxFileSizeBytes_" data-uid="EchoHub.Server.Config.UploadLimits.MaxFileSizeBytes*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxFileSizeBytes" data-uid="EchoHub.Server.Config.UploadLimits.MaxFileSizeBytes">
MaxFileSizeBytes
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxFileSizeBytes { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxFileSizeMB_" data-uid="EchoHub.Server.Config.UploadLimits.MaxFileSizeMB*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxFileSizeMB" data-uid="EchoHub.Server.Config.UploadLimits.MaxFileSizeMB">
MaxFileSizeMB
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxFileSizeMB { get; init; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxImageSizeBytes_" data-uid="EchoHub.Server.Config.UploadLimits.MaxImageSizeBytes*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxImageSizeBytes" data-uid="EchoHub.Server.Config.UploadLimits.MaxImageSizeBytes">
MaxImageSizeBytes
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxImageSizeBytes { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxImageSizeMB_" data-uid="EchoHub.Server.Config.UploadLimits.MaxImageSizeMB*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxImageSizeMB" data-uid="EchoHub.Server.Config.UploadLimits.MaxImageSizeMB">
MaxImageSizeMB
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MaxImageSizeMB { get; init; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Config_UploadLimits_MaxRequestBodyBytes_" data-uid="EchoHub.Server.Config.UploadLimits.MaxRequestBodyBytes*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxRequestBodyBytes" data-uid="EchoHub.Server.Config.UploadLimits.MaxRequestBodyBytes">
MaxRequestBodyBytes
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Absolute ceiling for one message request body (largest file × the attachment cap). Used to
size the request-body and multipart limits so a configured increase actually takes effect.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxRequestBodyBytes { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="EchoHub_Server_Config_UploadLimits_MaxForKind_" data-uid="EchoHub.Server.Config.UploadLimits.MaxForKind*"></a>
<h3 id="EchoHub_Server_Config_UploadLimits_MaxForKind_EchoHub_Core_Models_AttachmentKind_" data-uid="EchoHub.Server.Config.UploadLimits.MaxForKind(EchoHub.Core.Models.AttachmentKind)">
MaxForKind(AttachmentKind)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Maximum accepted size for a single attachment of the given kind.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public long MaxForKind(AttachmentKind kind)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>kind</code> <a class="xref" href="../core/EchoHub.Core.Models.AttachmentKind.html">AttachmentKind</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int64">long</a></dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">
<a href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server/Config/UploadLimits.cs" class="edit-link">Edit this page</a>
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<div class='footer-custom'><div class='footer-inner'><span class='footer-brand'>EchoHub</span><span class='footer-sep'>&middot;</span><a href='https://github.com/HueByte/EchoHub'>GitHub</a><span class='footer-sep'>&middot;</span><a href='https://echohub.voidcube.cloud'>Website</a></div></div>
</div>
</div>
</footer>
</body>
</html>