ASP。. NET Core上传概述

面向ASP的Telerik UI。网络核心Ninja image

上传是…的一部分面向ASP的Telerik UI。网络核心一个专业级的UI库,包含 110+ 组件,用于构建现代和功能丰富的 应用程序。要想尝试一下,注册一个30天的免费试用。

Telerik UI上传TagHelper和HtmlHelper的ASP。网络核心are server-side wrappers for the Kendo UI Upload widget.

Upload使用渐进式增强为用户提供最好的上传体验,而不需要开发人员额外的工作。

初始化上传

下面的示例演示如何定义Upload小部件。

@ (Html.Kendo () .Upload () . name(“文件”).Async (= > .Save(“保存”,“上传”).Remove(“删除”,“上传”).AutoUpload(真)))
 公共IWebHostEnvironment WebHostEnvironment{获取;设置;}公共UploadController(IWebHostEnvironment webHostEnvironment) {webHostEnvironment = webHostEnvironment;} public async Task Save(IEnumerable files){//上传组件的名称为"files"。if (files != null) {foreach (var file in files) {var fileContent = ContentDispositionHeaderValue.Parse(file. contentdisposition);//有些浏览器会发送带有完整路径的文件名。//示例只对文件名感兴趣。var fileName = Path.GetFileName(fileContent.FileName.ToString().Trim('"'));var physicalPath = Path.Combine(WebHostEnvironment. var)webrotpath, "App_Data", fileName);使用(var fileStream = new fileStream (physicalPath, FileMode.Create)){等待file.CopyToAsync(fileStream); } } } // Return an empty string to signify success. return Content(""); } public ActionResult Remove(string[] fileNames) { // The parameter of the Remove action must be called "fileNames". if (fileNames != null) { foreach (var fullName in fileNames) { var fileName = Path.GetFileName(fullName); var physicalPath = Path.Combine(WebHostEnvironment.WebRootPath, "App_Data", fileName); // TODO: Verify user permissions. if (System.IO.File.Exists(physicalPath)) { System. IO.File.Delete(physicalPath); } } } // Return an empty string to signify success. return Content(""); }

基本配置

下面的示例演示了Upload组件的基本配置,以及如何获取Upload小部件实例。

以这种方式配置的Upload小部件提供了对多个文件选择、异步删除上传文件、进度跟踪、正在进行的上传取消、文件拖放的支持。如果浏览器支持,可以自动启用进度跟踪、文件拖放和正在进行的上载取消。

上传工作于元素,因此它只能上传用户选择的文件,这些文件存在于文件系统中。对于动态上传用JavaScript生成的文件,可以使用另一种方法,例如Ajax请求。

@(Html.Kendo().Upload() .Name("files") . multiple (true) . async (a => a . save ("ChunkSave", "Upload") .Remove("Remove", "Upload") . autoupload (true) . chunksize (1100)))