File upload 需要一个web API动作方法来实现剑道角上传组件的removeUrl

File upload 需要一个web API动作方法来实现剑道角上传组件的removeUrl,file-upload,asp.net-core-webapi,kendo-ui-angular2,File Upload,Asp.net Core Webapi,Kendo Ui Angular2,我需要一个完整的工作示例来实现telerik kendo angular中的remove功能,使用angular 8和ASP.net core 2.2中的后端web API 在剑道角中,我试图实现上传文件的功能,并在用户单击x小按钮时将其删除 我已经非常完美地实现了上传,但是当提供removeUrl时,会出现错误404或415 另一件奇怪的事情是,当我为上传和下载提供相同的url时,它绑定了,代码可以正常运行,但我需要一个单独的操作来实现删除功能 [HttpPost("upload")

我需要一个完整的工作示例来实现telerik kendo angular中的remove功能,使用angular 8和ASP.net core 2.2中的后端web API

在剑道角中,我试图实现上传文件的功能,并在用户单击x小按钮时将其删除 我已经非常完美地实现了上传,但是当提供removeUrl时,会出现错误404或415

另一件奇怪的事情是,当我为上传和下载提供相同的url时,它绑定了,代码可以正常运行,但我需要一个单独的操作来实现删除功能


    [HttpPost("upload"), DisableRequestSizeLimit]
    public async Task<IActionResult> Post(IFormFileCollection files)
    {
          long size = files.Sum(f => f.Length);
          //var reqFiles = Request.Form.Files;
          var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
          if (!Directory.Exists(uploads))
                {
                    Directory.CreateDirectory(uploads);
                }

                List<string> paths = new List<string>();
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        string fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
                        var filePath = Path.Combine(uploads, fileName);
                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);
                        }
                        paths.Add(filePath);
                    }
                }

                // process uploaded files
                // Don't rely on or trust the FileName property without validation.

                return Ok(new { count = files.Count, size, paths });
            }


[HttpPost(“上传”),DisableRequestSizeLimit]
公共异步任务发布(IFormFileCollection文件)
{
long size=files.Sum(f=>f.Length);
//var reqFiles=Request.Form.Files;
var uploads=Path.Combine(_hostingEnvironment.WebRootPath,“uploads”);
如果(!Directory.Exists(上载))
{
CreateDirectory(上传);
}
列表路径=新列表();
foreach(文件中的var文件)
{
如果(file.Length>0)
{
字符串文件名=Guid.NewGuid()+Path.GetExtension(file.fileName);
var filePath=Path.Combine(上传,文件名);
使用(var fileStream=newfilestream(filePath,FileMode.Create))
{
等待file.CopyToAsync(fileStream);
}
添加(文件路径);
}
}
//处理上载的文件
//未经验证,请勿依赖或信任FileName属性。
返回Ok(新的{count=files.count,size,path});
}
和删除


    [HttpPost]
    private IActionResult Delete(IList<string> files)
            {
               // var reqFiles = Request.Form.Files;
                var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");

                foreach (var item in files)
                {
                    var filePath = Path.Combine(uploads, item);
                    System.IO.File.Delete(filePath);
                }

                return Ok(new { files });
            }


[HttpPost]
专用IActionResult删除(IList文件)
{
//var reqFiles=Request.Form.Files;
var uploads=Path.Combine(_hostingEnvironment.WebRootPath,“uploads”);
foreach(文件中的var项)
{
var filePath=Path.Combine(上传,项目);
System.IO.File.Delete(文件路径);
}
返回Ok(新的{files});
}
尝试在web api中命名操作并在url中提供此名称时引发错误404(尽管上载时相同的操作正在工作),使用post请求而不在后端命名操作时引发错误415

您是如何让剑道控件将文件发送到上载端点的?我以他们为例,但文件从未到达我的端点。你能分享一些代码吗?你是如何让剑道控制将文件发送到上传端点的?我以他们为例,但文件从未到达我的端点。你能分享一些代码吗?