【问题标题】:trigger file upload event触发文件上传事件
【发布时间】:2015-05-04 01:25:28
【问题描述】:

当我选择要上传的文件时,我无法触发名为 onFileSelect 的文件上传相关事件。这是我的代码。

<head>
    <script src="~/Scripts/angular.min.js"></script>
    <script src="~/Scripts/angular-file-upload.min.js"></script>

    <script src="~/App/Main.js"></script>
....
</head>
<body data-ng-app="app">

....

</body>

Main.js 内部

var app = angular.module('app', ['angularFileUpload']);

app.controller('fileCtrl', ['$scope', function ($scope, $http, $timeout, $upload) {
    $scope.mydata = 4 * 11; //*** I am able to hit the break point here

    $scope.onFileSelect = function ($files) {
        var j = 33; /*** this is not getting triggered....
    }
}]);

在我的 Index.cshtml 页面内... mydata 会按预期正确呈现,因此我的 angularjs 接线工作正常。

<div data-ng-controller="fileCtrl">
    <h2>{{mydata}}</h2>
    <input type="file" ng-file-select="onFileSelect($files)" multiple>
</div>

【问题讨论】:

    标签: asp.net-mvc angularjs angular-file-upload


    【解决方案1】:

    我认为你在这一行有一个依赖注入错误:

    app.controller('fileCtrl', ['$scope', function ($scope, $http, $timeout, $upload) {
    

    应该是:

    app.controller('fileCtrl', ['$scope', '$http', '$timeout', '$upload', function ($scope, $http, $timeout, $upload) {
    

    【讨论】:

    • 你真的在这个控制器中使用了 $http 和 $timeout 吗?如果没有,您需要删除它们。
    • 我确实删除了它们,但仍然没有运气。
    • 我认为您还需要添加指向 angular-file-upload-shim.min.js 的链接。看看这个链接,其中概述了它的需求:npmjs.com/package/angular-file-upload
    • 我只是想点击事件 onFileSelect 所以文件引用 angular-file-upload-shim.min.js。根本没有帮助。
    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2019-03-27
    • 2012-04-20
    • 2019-06-12
    • 2020-06-09
    • 2019-04-28
    • 1970-01-01
    相关资源
    最近更新 更多