javascript - 在 Angularjs 中单击按钮时上传文件

标签 javascript angularjs angular-file-upload

我现在有一个按钮和一个文件输入字段来上传文件。

按钮

<button type="button" class="btn btn-success pull-right" ng-click="uploader.uploadAll()">Upload</button>

输入字段

<input id="myUploader" type="file" uploader="uploader">

目前我首先要选择一个文件,使用输入字段,然后我的按钮会自动启用,这样我就可以点击它并上传文件。

我真正想要的是能够直接点击按钮,让我选择一个文件,然后在选择之后自动上传文件。

我通过将 ng-click="uploader.uploadAll()" 更改为 onclick="$('#myUploader').trigger(' 完成了第一部分点击');"

我现在的问题是,我不知道如何在选择文件后触发 uploader.uploadAll() function

谁能帮帮我?

最佳答案

您可以监听输入字段上的更改事件。

不幸的是,ng-change 似乎无法处理文件输入。因此有必要使用 onchange

要从事件处理程序内部访问 Angular 范围,您可以使用 angular.element(this).scope()。最终结果如下所示:

<input id="myUploader" type="file" uploader="uploader" onchange="angular.element(this).scope().uploader.uploadAll()">

另见 this related question .

关于javascript - 在 Angularjs 中单击按钮时上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503445/

相关文章:

javascript - JQuery mouseleave() 不工作

javascript - 渐进式网页应用。 Service Worker 通知出现多次

javascript - 如何在点击时执行脚本

javascript - Angularjs 页面初始加载速度很慢

angularjs - 如何实现变量从一个服务方法到另一个 Angular 的传递

angularjs - angular-file-upload nervgh - 如何更改服务器 url

angularjs - 错误 : [ng:areq] Argument 'module' is not a function, 获取对象

javascript - div 出现几秒钟并在 jquery/javascript 中消失?

javascript - + 和 - 在 Angular 中应该有不同的优先级?

angularjs - 为什么我的 AngularJS 绑定(bind)并不总是正确更新?