如何上传大文件快递与进度条?(How to upload large file in express

2019-08-01 17:32发布

目前我使用socket.io上传与进度条视频。 这里是教程

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-resumable-video-uploade-in-node-js/

不过IE不支持这种方法,但我真的需要上传的视频在所有浏览器。

我查了快递文档。 由于快递是基于node-formidable (其中有一个进度事件),我认为有办法建立与进度条上传系统,对不对? 我只是不知道怎么办!

为节点,强大的IE启用吗?

任何这样,才有可能建立在进度条纯espress.js文件上传系统?

Answer 1:

它可以与xhr.upload进度事件来完成。 它是从HTML5的支持。

例如: https://github.com/zeMirco/express-upload-progress

在PHP中上传信息可以连接到会话,所以它与HTML4的作品,也许是一个延伸的NodeJS过,我就google一下。

根据这一点: 如何在node.js中做上传与快递有通过文件上传快递进度的事件,这样你就可以设置与实际进度数据的会话变量,并从客户端AJAX阅读。



Answer 2:

这里是的jsfiddle采用了棱角分明的js和NG-文件上传指令。

该工程的jsfiddle图像和文件,但上传你将不得不改变POST URL到服务器的视频。

 //inject angular file upload directives and services. var app = angular.module('fileUpload', ['ngFileUpload']); app.controller('MyCtrl', ['$scope', 'Upload', '$timeout', function($scope, Upload, $timeout) { $scope.uploadFiles = function(file, errFiles) { $scope.f = file; $scope.errFile = errFiles && errFiles[0]; if (file) { file.upload = Upload.upload({ url: 'https://angular-file-upload-cors-srv.appspot.com/upload', data: { file: file } }); file.upload.then(function(response) { $timeout(function() { file.result = response.data; }); }, function(response) { if (response.status > 0) $scope.errorMsg = response.status + ': ' + response.data; }, function(evt) { file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total)); }); } } }]); 
 .thumb { width: 24px; height: 24px; float: none; position: relative; top: 7px; } form .progress { line-height: 15px; } .progress { display: inline-block; width: 100px; border: 3px groove #CCC; } .progress div { font-size: smaller; background: orange; width: 0; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <script src="https://angular-file-upload.appspot.com/js/ng-file-upload-shim.js"></script> <script src="https://angular-file-upload.appspot.com/js/ng-file-upload.js"></script> <body ng-app="fileUpload" ng-controller="MyCtrl"> <h4>Upload on file select</h4> <button type="file" ngf-select="uploadFiles($file, $invalidFiles)" ngf-max-height="1000" ngf-max-size="100MB"> Select File</button> <br> <br> File: <div style="font:smaller">{{f.name}} {{errFile.name}} {{errFile.$error}} {{errFile.$errorParam}} <span class="progress" ng-show="f.progress >= 0"> <div style="width:{{f.progress}}%" ng-bind="f.progress + '%'"></div> </span> </div> {{errorMsg}} </body> 



文章来源: How to upload large file in express with progress bar?