在上一篇《H5拖放+FormData接口+NodeJS,完整异步文件上传(一)》中,我们已经走过了拖拽式文件上传的全过程,但是离实际使用场景。在这篇文章中,我们来添加几个实际使用场景所必需的功能,向实际使用又迈进了一步。增加显示待上传文件列表功能;支持删除要上传的文件;使用upload.onprogress显示上传进度;支持中断上传;upload.progressXMLHttpRequest.upload方法返回一个XMLHttpRequestUpload对象来指示上传进度。该对象是不透明的,但作为XMLHttpRequestEventTarget,可以通过将事件绑定到它来跟踪其进度。onprogres监听数据传输的进度(通过监听该事件可以获取上传进度)。摘自MDN实现思路?将文件拖放到上传区时,将文件保存在一个文件数组中,添加并显示文件相关信息和一个删除按钮,点击删除按钮删除文件数组中对应的文件元素,点击上传按钮,遍历File数组,开始上传要上传的文件,此时点击remove按钮停止文件上传。代码//相关样式.drop-area{margin:auto;宽度:500px;高度:500px;border:1pxpinkdashed;}.close-btn{cursor:pointer;}.close-btn:after{float:right;内容:'X';颜色:红色;}#fileList{宽度:95%;}.process-bar{位置:相对;边距:010px010px;宽度:198px;高度:18px;显示:无;文本对齐:居中;行高:20px;颜色:#6dbfff;边界半径:3px;边框:1px实心#1483d8;背景:#fff;}.success.process-bar,.uploading.process-bar{display:inline-block;}.process-bar.process-text{position:relative;z-index:1;}.process-bar.process-rate{position:absolute;宽度:0;高度:100%;左:0;顶部:0;边界半径:3px;背景:#1483d8;}.file-list.success.process-text,.file-list.success.close-btn:after,.file-list.error.process-text,.file-list.error.close-btn:after{display:none;}.success.process-bar:after,.error.process-bar:after{内容:'成功';位置:绝对;保证金:自动;左:0;右:0;z-index:2;}.??error.process-bar:after{内容:“错误”;color:red;
