Token导航 LogoToken导航TokenDH.com
前端设计操作浏览器github未标认证来源可访问许可证需确认审计异常

syncfusion-aspnetcore-uploader同步融合 aspnetcore 上传器

Agent Skill

syncfusion-aspnetcore-uploader 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

220

周安装

9

GitHub Stars

公开资料未说明

下载量

71
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-aspnetcore-uploader(同步融合 aspnetcore 上传器)
来源仓库:https://github.com/syncfusion/aspnetcore-ui-components-skills
仓库路径:skills/syncfusion-aspnetcore-uploader
安装命令:
npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-uploader
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-uploader

简介

同步融合 ASP.NET Core 文件上传组件,支持多文件并行传输。

  • 适用于附件提交、头像更换、资料备份等大文件上传场景。
  • 通过 GitHub 安装并配置分片上传策略,提升网络不稳定容错率。
  • 使用前必须限制文件类型和大小,防止恶意文件上传。
  • 上传过程中应显示实时进度条,增强用户操作感知。syncfusion-aspnetcore-uploader 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Implementing Uploader in ASP.NET Core

The Uploader is a powerful file upload component for ASP.NET Core that handles file selection, validation, asynchronous uploads, drag-and-drop support, and progress tracking. This skill guides you through implementing Uploader in ASP.NET Core applications using Syncfusion's TagHelper syntax.

When to Use This Skill

Use this skill when you need to:

  • Create file upload forms for images, documents, and media
  • Implement asynchronous file uploads with progress feedback
  • Validate file types and sizes before upload
  • Support drag-and-drop file selection
  • Handle multiple file uploads simultaneously
  • Process file removal and cleanup
  • Build enterprise-grade file management interfaces
  • Implement chunk uploads for large files
  • Integrate file uploads into HTML forms
  • Support paste-to-upload and directory uploads
  • Ensure proper file handling and security

Key Features

FeatureUse Case
Asynchronous UploadNon-blocking uploads with SaveUrl/RemoveUrl handlers
Multiple File UploadSelect and upload many files at once
Single File UploadRestrict to one file per selection
File ValidationValidate extensions, size, count, duplicates
Drag and DropDrop files directly onto uploader area
Custom Drop AreaDefine external elements as drop zones
Auto UploadUpload files automatically or manually
Progress TrackingDisplay upload progress with progress bar
File RemovalRemove uploaded files with RemoveUrl handler
Chunk UploadBreak large files into chunks for reliable upload
Paste UploadUpload images from clipboard
Directory UploadUpload entire folders and directory structure
Form IntegrationSubmit files as part of form submission
TemplatesCustomize file list and button appearance
LocalizationSupport multiple languages and cultures
Error HandlingDisplay upload failures with custom messages

Documentation Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Prerequisites and system requirements
  • Installing Syncfusion.EJ2.AspNetCore NuGet package
  • Configuring TagHelpers in _ViewImports.cshtml
  • Adding stylesheets and script resources via CDN
  • Registering the script manager
  • Creating your first Uploader
  • Basic configuration and properties

Asynchronous Upload

📄 Read: references/async-upload.md

  • Configuring SaveUrl and RemoveUrl endpoints
  • Single vs multiple file upload modes
  • Auto-upload settings and manual upload triggers
  • Success and failure event handlers
  • Progress tracking and upload lifecycle
  • Handling upload cancellation

File Validation

📄 Read: references/file-validation.md

  • File type validation with allowed-extensions
  • File size constraints (min-file-size, max-file-size)
  • Maximum file count restrictions
  • Duplicate file detection and prevention
  • Custom validation patterns and error messages
  • Validation before and after upload

Drag and Drop Support

📄 Read: references/drag-drop-support.md

  • Default drag-and-drop behavior
  • Configuring custom drop areas
  • Multiple drop zones on single page
  • Drag-drop events and event handling
  • Paste-to-upload from clipboard
  • Directory drag-drop support

Templates and Styling

📄 Read: references/templates-and-styling.md

  • Template property for custom UI
  • Button customization and arrangement
  • File list item rendering
  • CSS class customization
  • Theme integration (Fluent, Material, Bootstrap)
  • Responsive design patterns

Advanced Patterns

📄 Read: references/advanced-patterns.md

  • Chunk upload for large files
  • Form submission with file uploads
  • Directory upload handling
  • File removal and cleanup strategies
  • Advanced error handling
  • Security considerations and CORS

Quick Start Example

Basic Uploader with Async Upload (TagHelper)

<!-- Views/Home/Index.cshtml -->
<div class="form-group">
    <ejs-uploader id="uploader">
        <e-async-settings save-url="Home/Save" remove-url="Home/Remove"></e-async-settings>
        <e-upload-files></e-upload-files>
    </ejs-uploader>
</div>

<div id="uploadedFiles"></div>

Configuration in HomeController.cs

using Microsoft.AspNetCore.Mvc;
using System.IO;

public class HomeController : Controller
{
    private readonly IWebHostEnvironment _webHostEnvironment;

    public HomeController(IWebHostEnvironment webHostEnvironment)
    {
        _webHostEnvironment = webHostEnvironment;
    }

    [HttpPost]
    public IActionResult Save(IFormFile[] uploader)
    {
        if (uploader != null && uploader.Length > 0)
        {
            string uploadPath = Path.Combine(_webHostEnvironment.WebRootPath, "Uploads");
            if (!Directory.Exists(uploadPath))
                Directory.CreateDirectory(uploadPath);

            foreach (IFormFile file in uploader)
            {
                string filePath = Path.Combine(uploadPath, file.FileName);
                using (FileStream fs = System.IO.File.Create(filePath))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
            }
        }
        return Ok();
    }

    [HttpPost]
    public IActionResult Remove(string[] files)
    {
        string uploadPath = Path.Combine(_webHostEnvironment.WebRootPath, "Uploads");

        foreach (string file in files)
        {
            string filePath = Path.Combine(uploadPath, file);
            if (System.IO.File.Exists(filePath))
                System.IO.File.Delete(filePath);
        }
        return Ok();
    }
}

Configuration in _ViewImports.cshtml (one-time setup)

@addTagHelper *, Syncfusion.EJ2

In _Layout.cshtml (one-time setup)

W012 – Runtime remote-code dependency risk: Loading scripts and styles from an external CDN means a compromised or tampered CDN file would execute in your users' browsers. Mitigate this with one of the two approaches below. Preferred – Self-host the assets (eliminates the runtime remote dependency entirely): 1. Copy ej2.min.js and the theme CSS from the NuGet package or a one-time CDN download into wwwroot/lib/syncfusion/. 2. Reference them with relative paths — no integrity attribute needed because the files are served from your own origin. Alternative – CDN with Subresource Integrity (SRI): If you must use the CDN, pin the file with an integrity hash so the browser rejects any tampered version. Compute the hash with openssl dgst -sha384 -binary <file> | openssl base64 -A and update it on every version upgrade.

Option A — Self-hosted (recommended)

<head>
    <!-- Served from your own wwwroot — no external runtime dependency -->
    <link rel="stylesheet" href="~/lib/syncfusion/fluent.css" />
</head>
<body>
    @RenderBody()

    <script src="~/lib/syncfusion/ej2.min.js"></script>
    <ejs-scripts></ejs-scripts>
</body>

Option B — CDN with SRI pinning

<head>
    <!-- integrity hash must match the exact file; regenerate on every version upgrade -->
    <link rel="stylesheet"
          href="https://cdn.syncfusion.com/ej2/24.1.48/fluent.css"
          integrity="sha384-REPLACE_WITH_ACTUAL_HASH_FOR_fluent.css"
          crossorigin="anonymous" />
</head>
<body>
    @RenderBody()

    <script src="https://cdn.syncfusion.com/ej2/24.1.48/dist/ej2.min.js"
            integrity="sha384-REPLACE_WITH_ACTUAL_HASH_FOR_ej2.min.js"
            crossorigin="anonymous"></script>
    <ejs-scripts></ejs-scripts>
</body>

Common Patterns

Pattern 1: Multiple File Upload with Progress

<ejs-uploader id="multiUploader"
    allowed-extensions=".jpg,.png,.pdf,.doc,.docx"
    max-file-size="5242880"
    auto-upload="false"
    multiple="true"
    uploading="onUploading"
    success="onSuccess"
    failure="onFailure">
    <e-async-settings save-url="Home/Save" remove-url="Home/Remove"></e-async-settings>
</ejs-uploader>

<script>
function onUploading(args) {
    console.log('Uploading: ' + args.file.name);
    console.log('Progress: ' + (args.percentComplete * 100) + '%');
}

function onSuccess(args) {
    if (args.operation === 'upload') {
        console.log(args.file.name + ' uploaded successfully');
    }
}

function onFailure(args) {
    console.log('Upload failed: ' + args.response);
}
</script>

Pattern 2: Single File Upload with Validation

<ejs-uploader id="singleUploader"
    allowed-extensions=".jpg,.png,.jpeg"
    max-file-size="2097152"
    multiple="false"
    selected="onFileSelected"
    auto-upload="true">
    <e-async-settings save-url="Home/Save" remove-url="Home/Remove"></e-async-settings>
</ejs-uploader>

<script>
function onFileSelected(args) {
    if (args.filesData.length > 1) {
        args.filesData.splice(1);
        alert('Only one file can be selected');
    }
}
</script>

Pattern 3: Drag-Drop with Custom Area

<div id="dropArea" style="border: 2px dashed #ccc; padding: 20px; min-height: 200px;">
    Drop files here
</div>

<ejs-uploader id="uploader"
    drop-area="#dropArea"
    auto-upload="true">
    <e-async-settings save-url="Home/Save" remove-url="Home/Remove"></e-async-settings>
</ejs-uploader>

Key Properties

PropertyTypeDefaultPurpose
allowed-extensionsstring""File types to allow (e.g., ".jpg,.png")
max-file-sizelong28.4MBMaximum file size in bytes
min-file-sizelong0Minimum file size in bytes
multiplebooltrueAllow multiple file selection
auto-uploadbooltrueUpload files automatically after selection
save-urlstring""URL handler for saving files
remove-urlstring""URL handler for removing files
drop-areastring""CSS selector for custom drop area

Common Use Cases

Use Case 1: Profile Picture Upload

Use Case 2: Document Management

Use Case 3: Bulk Import

Use Case 4: Media Gallery


Next Step: Read references/getting-started.md to begin implementing Uploader in your ASP.NET Core application.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.02%
按下载量换算26

Claude

28.27%
按下载量换算20

Cursor

20.36%
按下载量换算14

Gemini CLI

10.25%
按下载量换算7

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills