Token导航 LogoToken导航

Agent Skill · 开发

syncfusion-angular-uploader(syncfusion Angular uploader 命令行)

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

syncfusion-angular-uploader 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 13,052。

总安装 1,032周安装 43GitHub Stars 公开资料未说明下载 344核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

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

命令行安装

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

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

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于处理 GitHub 仓库、Issue 和 Pull Request 协作信息。适合围绕仓库状态和代码变更进行整理。通过 GitHub 仓库安装,支持主流宿主环境。使用前建议确认权限范围和维护状态。syncfusion-angular-uploader 属于开发类 Skill,可作为该场景下的辅助能力补充。

注意可能涉及联网和命令执行,需谨慎使用。

来源仓库内路径:skills/syncfusion-angular-uploader

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/syncfusion/angular-ui-components-skills --skil…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

syncfusion-angular-uploader 怎么安装?

在终端执行 npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusi…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

syncfusion-angular-uploader 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

syncfusion-angular-uploader 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

syncfusion-angular-uploader 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

syncfusion-angular-uploader 用的人多吗?

公开数据是累计安装 1,032 次,近一周安装 43 次,下载 344 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

syncfusion-angular-uploader 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
syncfusion-angular-uploader

syncfusion Angular uploader 命令行 · 本页

1,032—需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Implementing Syncfusion Angular Uploader

The Syncfusion Angular Uploader (ejs-uploader) is a full-featured file upload component that supports asynchronous uploads, chunk uploading of large files, drag-and-drop, clipboard paste, directory upload, file validation, templates, form integration, JWT authentication, and comprehensive event handling.

Component Overview

The Syncfusion Angular Uploader provides:

  • Async upload modes: Auto upload (default) or manual upload with action buttons
  • Chunk upload: Split large files into configurable byte-size chunks with retry logic
  • Sequential upload: Process files one at a time to reduce server traffic
  • File sources: Browse dialog, drag-and-drop, clipboard paste, directory selection
  • Validation: File type (extensions), min/max size, custom count limits, duplicate prevention
  • Templates: Customize the file list item structure; build fully custom upload UIs
  • Form support: HTML form submission, template-driven forms (ngModel), reactive forms (FormGroup)
  • Accessibility: WCAG 2.2, Section 508, keyboard navigation, screen reader support
  • Localization: Customize all static text via L10n

Documentation & Navigation Guide

⚠️ Agentic use note: This guide links to multiple reference documents. AI agents should read only the sections relevant to the task at hand — do not chain through all references automatically. Follow least-privilege reading: fetch only what is needed.

Getting Started

📄 Read: references/getting-started.md

  • Installation of @syncfusion/ej2-angular-inputs ⚠️ Always verify the package version and integrity before running npm install in production pipelines (supply-chain hygiene).
  • Package setup, CSS imports, and Angular standalone component usage
  • Adding the <ejs-uploader> component
  • Configuring async settings (saveUrl, removeUrl)
  • Handling success and failure events
  • Adding a custom drop area

Asynchronous Upload

📄 Read: references/async-upload.md

  • Multiple and single file upload modes (multiple property)
  • Save action configuration and server-side handling
  • Remove action and postRawFile usage
  • Auto upload vs manual upload (autoUpload property)
  • Sequential upload (sequentialUpload)
  • Preloaded files (files property)
  • Adding custom HTTP headers to upload requests

Chunk Upload

📄 Read: references/chunk-upload.md

  • Enabling chunk upload via asyncSettings.chunkSize
  • Pause, resume, and cancel chunk uploads
  • Retry configuration (retryCount, retryAfterDelay)
  • chunkSuccess and chunkFailure events
  • Server-side chunk assembly implementation

File Validation

📄 Read: references/validation.md

  • Restricting file types with allowedExtensions
  • Min/max file size constraints (minFileSize, maxFileSize)
  • Limiting upload count via the selected event
  • Preventing duplicate file uploads
  • MIME type validation before upload
  • Image/* validation on drag-and-drop

File Sources

📄 Read: references/file-sources.md

  • Paste images from clipboard
  • Directory (folder) upload with directoryUpload
  • Drag-and-drop with built-in and custom drop areas
  • Custom drop area styling (.e-upload-drag-hover)
  • Triggering file browse from an external button

Templates & Custom UI

📄 Read: references/templates-and-custom-ui.md

  • File list template with the template property
  • Building a completely custom upload UI (hiding default list with showFileList)
  • Customizing action buttons with HTML elements (buttons property)
  • Customizing the progress bar appearance
  • Preview images before uploading
  • Resize images before uploading to server

Form Integration

📄 Read: references/form-integration.md

  • Using Uploader inside HTML forms (synchronous submission)
  • Template-driven forms with ngModel
  • Reactive forms with FormGroup
  • Required field validation (required attribute)
  • Reset behavior with form reset

Styling & Appearance

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

  • Customizing the uploader wrapper dimensions
  • Styling the browse button
  • Customizing the drop area text
  • Customizing the file list container
  • Hiding the default drop area
  • CSS class reference for key Uploader elements

Accessibility & Localization

📄 Read: references/accessibility-and-localization.md

  • WCAG 2.2, Section 508, keyboard shortcuts
  • Screen reader and RTL support
  • Localizing all static labels and messages with L10n

Advanced How-To Patterns

📄 Read: references/advanced-patterns.md

  • Upload files programmatically with the upload() method
  • Invisible (background) upload
  • Adding additional form data with customFormData
  • JWT authentication for upload/remove requests
  • Show confirmation dialog before removing files
  • Get total size of selected files
  • Sort selected files in the file list
  • Open and edit uploaded files from the server
  • Convert uploaded images to binary format

API Reference

📄 Read: references/api.md

  • Complete properties, methods, and events reference
  • AsyncSettingsModel, ButtonsPropsModel, FilesPropModel
  • All event argument types and their fields

Quick Start Example

Minimal file uploader with async upload (Angular 21+ standalone):

import { Component } from '@angular/core';
import { UploaderModule } from '@syncfusion/ej2-angular-inputs';

@Component({
  imports: [UploaderModule],
  standalone: true,
  selector: 'app-root',
  template: `
    <ejs-uploader
      [asyncSettings]="asyncSettings"
      [autoUpload]="false"
      (success)="onSuccess($event)"
      (failure)="onFailure($event)">
    </ejs-uploader>
  `
})
export class AppComponent {
  public asyncSettings = {
    saveUrl: 'https://your-api/upload/save',
    removeUrl: 'https://your-api/upload/remove'
  };

  onSuccess(args: any): void {
    console.log('Upload operation:', args.operation, 'File:', args.file.name);
  }

  onFailure(args: any): void {
    console.error('Upload failed:', args.file.name);
  }
}

CSS Theme Setup (styles.css):

@import 'node_modules/@syncfusion/ej2-base/styles/material3.css';
@import 'node_modules/@syncfusion/ej2-buttons/styles/material3.css';
@import 'node_modules/@syncfusion/ej2-inputs/styles/material3.css';
@import 'node_modules/@syncfusion/ej2-popups/styles/material3.css';
@import 'node_modules/@syncfusion/ej2-angular-inputs/styles/material3.css';

Common Patterns

Pattern 1: Auto Upload with Drag-and-Drop

// Automatically uploads dropped or browsed files
<ejs-uploader
  [asyncSettings]="asyncSettings"
  [dropArea]="dropElement"
  [multiple]="true"
  (success)="onSuccess($event)">
</ejs-uploader>

Pattern 2: Chunk Upload for Large Files

<ejs-uploader
  [asyncSettings]="chunkSettings"
  (chunkSuccess)="onChunkSuccess($event)"
  (chunkFailure)="onChunkFailure($event)">
</ejs-uploader>

// In component:
chunkSettings = {
  saveUrl: 'https://your-api/upload/save',
  removeUrl: 'https://your-api/upload/remove',
  chunkSize: 500000  // 500 KB chunks
};

Pattern 3: Validated Upload (Type + Size)

<ejs-uploader
  [asyncSettings]="asyncSettings"
  allowedExtensions=".jpg,.png,.pdf"
  [minFileSize]="1024"
  [maxFileSize]="5000000">
</ejs-uploader>

Pattern 4: Preloaded Files

<ejs-uploader
  [asyncSettings]="asyncSettings"
  [files]="preloadedFiles">
</ejs-uploader>

// In component:
preloadedFiles = [
  { name: 'report', size: 200000, type: '.pdf' },
  { name: 'photo', size: 500000, type: '.jpg' }
];

Pattern 5: JWT-Authenticated Upload

<ejs-uploader
  [asyncSettings]="asyncSettings"
  (uploading)="addAuthHeader($event)"
  (removing)="addAuthHeader($event)">
</ejs-uploader>

// ⚠️ Never hardcode tokens — always retrieve from a secure auth service (e.g., Angular AuthService or OAuth library).
// ⚠️ Always transmit tokens over HTTPS only. Never pass tokens as URL query parameters.
addAuthHeader(args: any): void {
  args.currentRequest.setRequestHeader('Authorization', `Bearer ${this.token}`);
}

Key Properties

PropertyTypeDefaultPurpose
[asyncSettings]AsyncSettingsModel{saveUrl:'',removeUrl:''}Server save/remove URLs and chunk config
[autoUpload]booleantrueUpload immediately on file selection
[multiple]booleantrueAllow selecting multiple files
[allowedExtensions]string''Comma-separated allowed extensions (e.g., .jpg,.png)
[minFileSize]number0Minimum file size in bytes
[maxFileSize]number30000000Maximum file size in bytes (~28.6 MB)
[files]FilesPropModel[][]Preloaded files from server
[dropArea]string \HTMLElementnullCustom drop target element or selector
[directoryUpload]booleanfalseEnable folder/directory upload
[sequentialUpload]booleanfalseUpload files one at a time
[showFileList]booleantrueShow/hide default file list
[template]anynullCustom file list item template
[buttons]ButtonsPropsModel{browse,clear,upload}Customize button text/HTML
[enabled]booleantrueEnable or disable the component
[cssClass]string''Additional CSS classes on root element
[enableRtl]booleanfalseRight-to-left rendering
[enableHtmlSanitizer]booleantruePrevent XSS in filenames
[dropEffect]DropEffect'Default'Drag effect: Copy, Move, Link, None

Key Events

EventWhen it FiresKey Args
(selected)Files selected or droppedfilesData, cancel, modifiedFilesData
(uploading)Before each file upload startsfileData, currentRequest, customFormData, cancel
(success)Upload or remove succeedsfile, operation (upload\remove), event
(failure)Upload or remove failsfile, operation, event
(progress)Upload progressfile, event (loaded, total)
(removing)Before file remove requestfilesData, postRawFile, currentRequest
(beforeRemove)Before remove confirmationfilesData, cancel
(beforeUpload)Before upload processfileData, customFormData
(change)File list changesfile
(clearing)Before clear all actioncancel
(chunkSuccess)Each chunk uploads OKchunkIndex, totalChunk, chunkSize, file
(chunkFailure)Each chunk failschunkIndex, totalChunk, chunkSize, file, cancel
(chunkUploading)Before each chunk uploadfileData, currentRequest, customFormData
(pausing)Chunk upload pausedfile, chunkIndex
(resuming)Chunk upload resumedfile, chunkIndex
(canceling)Upload canceledfile
(fileListRendering)Before each file item renderselement, fileInfo
(actionComplete)All files processedfileData
(created)Component initialized—

Key Methods

MethodPurpose
upload(files?, custom?)Programmatically start upload for selected or specific files
remove(fileData?, custom?, postRawFile?)Remove a file from list or server
cancel(fileData?)Cancel an in-progress chunk upload
pause(fileData?, custom?)Pause a chunk upload
resume(fileData?, custom?)Resume a paused chunk upload
retry(fileData?, fromCanceledStage?, custom?)Retry a failed or canceled upload
clearAll()Clear all files from the list
getFilesData(index?)Get file data array shown in the list
createFileList(fileData)Programmatically create file list items
sortFileList(filesData?)Sort file list alphabetically
bytesToSize(bytes)Convert bytes to human-readable KB/MB string
destroy()Destroy the component and detach events

Common Use Cases

Use Case 1: Profile Photo Upload

  • multiple="false", allowedExtensions=".jpg,.png,.gif,.webp", maxFileSize=5000000
  • Use selected event to preview before upload
  • Auto upload with progress indicator

Use Case 2: Document Upload Portal

  • Multiple files, allowedExtensions=".pdf,.doc,.docx,.xlsx"
  • Chunk upload for large files with pause/resume
  • Sequential upload to manage server load

Use Case 3: Image Gallery Batch Upload

  • Multiple files, directory upload enabled
  • Preview thumbnails using selected event + FileReader
  • Sort by file name before upload

Use Case 4: Secure File Upload (API-Authenticated)

  • JWT token injected via uploading event header
  • Custom customFormData to pass metadata
  • Server validates token before saving

Use Case 5: Form with Required File

  • autoUpload=false, synchronous form submission
  • Required attribute validation with data-required-message
  • Template-driven or reactive form binding

Next Steps

  1. Getting Started → Install package and render basic uploader
  2. Async Upload → Configure save/remove URLs and upload modes
  3. Validation → Add extension and size constraints
  4. Chunk Upload → Handle large files with pause/resume
  5. Templates → Customize file list appearance
  6. Form Integration → Bind to Angular forms
  7. Advanced Patterns → JWT auth, programmatic upload, custom UI
  8. API Reference → Full properties, methods, events list

For detailed implementation, start with references/getting-started.md

平台分布

Codex

37.13%
按下载量换算128

Claude

29.49%
按下载量换算101

Cursor

18.05%
按下载量换算62

Gemini CLI

9.39%
按下载量换算32

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills