首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

只有在angular 6中第一次连续上传文件时才会显示进度条

在Angular 6中,只有在第一次连续上传文件时才会显示进度条。这是因为在第一次上传文件时,浏览器会发送一个预检请求(OPTIONS请求)来检查服务器是否允许跨域请求和使用特定的请求头。这个预检请求会导致浏览器在发送实际的文件上传请求之前等待服务器的响应,从而触发进度条的显示。

在后续的连续上传文件中,浏览器已经完成了预检请求,并且服务器也已经允许了跨域请求和特定的请求头。因此,浏览器会直接发送文件上传请求,而不会触发进度条的显示。

为了在每次上传文件时都显示进度条,可以通过以下几种方式解决:

  1. 使用第三方库:可以使用像ngx-uploader这样的第三方库来处理文件上传,并且提供了显示进度条的功能。你可以在Angular的官方插件库(https://angular.io/plugins)或者其他第三方插件库中找到适合你的需求的库。
  2. 手动处理进度:你可以通过监听文件上传请求的进度事件来手动更新进度条。在Angular中,可以使用HttpClient模块来发送文件上传请求,并且该模块提供了一个progress事件来监听上传进度。你可以在该事件的回调函数中更新进度条的状态。
  3. 使用WebSocket:如果你需要实时更新上传进度,可以考虑使用WebSocket来实现。WebSocket是一种在客户端和服务器之间进行全双工通信的协议,可以实时传输数据。你可以在文件上传过程中通过WebSocket将上传进度实时传输到客户端,并更新进度条的状态。

总结起来,只有在Angular 6中第一次连续上传文件时才会显示进度条,这是由于浏览器发送预检请求导致的。为了在每次上传文件时都显示进度条,可以使用第三方库、手动处理进度或者使用WebSocket来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券