希望有人可以帮助您。
基本上,我们使用ng-flow https://github.com/flowjs/ng- flow允许拖放以上传项目。我们还在使用MVC 4。
所有人似乎都应该工作,但是,我们希望对此进行自定义,以便
到目前为止,我们尝试了什么?:-
在配置中,我们已禁用目标,因此它不会立即上传
.config(['flowFactoryProvider', function (flowFactoryProvider) { flowFactoryProvider.defaults = { target: '', permanentErrors: [500, 501], maxChunkRetries: 1, chunkRetryInterval: 5000, simultaneousUploads: 1 };
在实际页面上,我们创建了一个按钮,单击ng会通过flow.files
<input type="button" value="Click Me" ng-click="uploadme($flow.files)">
在控制器中,我们具有函数uploadme,它接受流作为参数。遍历此参数并将每个“文件”发布到上传控制器
$scope.uploadme= function (flows) { angular.forEach(flows, function (flow) { var fd = new FormData(); fd.append("file", flow); $http.post("upload", fd, { withCredentials: true, headers: {'Content-Type': undefined }, transformRequest: angular.identity }) }); }
MVC控制器,“上传”。被调用,但是,文件始终为空
public ActionResult upload(HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); file.SaveAs(path); } return View(); }
我们缺少什么吗?还是有其他方法可以实现这一目标。
设法解决了这个…
从div标签删除行
flow-files-submitted="$flow.upload()"
然后点击一个按钮,传入$ flow作为参数
ng-click="InsertItems($flow)"
Javascript:-
$scope.InsertItems = function(e) { //Do what you need to do e.upload(); }