kendo-angular-upload:500服务器错误代码后未触发错误事件

时间:2019-05-30 11:01:30

标签: angular kendo-ui

在前端,我使用Angular 7,然后尝试使用Kendo上传图像:

        <kendo-upload
          [saveUrl]="uploadSaveUrl"
          [removeUrl]="uploadRemoveUrl"
          [restrictions]="uploadRestrictions"
          [multiple]="false"
          [withCredentials]="false"
          (success)="showSavedSuccess()"
          (error)=showSavedFailed($event)
        >

,在后端,我使用ASP.NET Core。我基本上使用从这里获取的代码(常规控制器类型的版本): https://www.telerik.com/forums/file-upload-full-example-with-server-side-code

尝试时会触发成功事件。但是,如果我要测试错误,而不是

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

我使用

return StatusCode(500);

在那种情况下,(error) event没有被触发,我仍然从剑道那里收到消息Uploading...。如果检查网络,我会清楚地看到500 error消息。

我尝试从后端发送不同的响应(null,...),但所有这些都得到相同的结果。

顺便说一句,这个问题与标题相似的this one无关。

我应该解决什么?我应该从BE返回某个错误值还是必须以其他方式处理Kendo的模块?我在剑道的页面上找不到此信息...帮助!

1 个答案:

答案 0 :(得分:0)

error event在上载或删除操作失败时触发。 This is an example

状态代码500永远不会到达客户端。 Such exceptions should be handled on the server side。应从服务器返回正确的HTTP状态代码/错误。

These是此处最常见状态代码的内置ASP.NET Core方法,目的是触发上载组件的错误事件。或者,Angular Interceptor可用于自定义整个客户端-服务器通信。可以从定制拦截器组件发送定制错误响应。 Example

来源:Telerik支持团队。