方法uploadStoredFiles在jQuery.fineUploader上不存在

时间:2015-07-06 14:18:30

标签: javascript angularjs fine-uploader

我无法手动上传我的精品上传器文件。 我有一个基本的表单,其中包含我自己的angularJS指令:

<div id="myUploader" aw-uploader
     uploader-instance="vm.uploaderInstance" endpoint="/api/addpictures"
     >
</div>

这个Angular指令会像这样实现FineUploader:

  function awUploader() {
        var directive = {
            replace: true,
            link: link,
            restrict: 'A',
            templateUrl: '/App/Common/Layout/awUploader.directive.html',
            scope: {
                endpoint: '@'               
            }
        };

        return directive;

        function link(scope, element, attrs) {
            $(element).fineUploader({
                template: 'qq-template-gallery',
                request:
                    endpoint: scope.endpoint
                },
                thumbnails: {

            });
            scope.uploaderInstance = $(element);                
        }

到目前为止,所有这些似乎都有效。但是现在,我需要在我的表单包含的其余数据之后手动提交文件。 由于我的表单由JS脚本控制,我想手动触发文件上传。像这样 :

uploaderInstance.fineUploader('uploadStoredFiles');

我已经检查过“uploaderInstance”变量包含我实例化FU的DOM元素(这里是#myUploader div元素。对吧?)。这很好。

但是当我尝试执行该指令时,会抛出一个错误/着名的“jQuery.fineUploader上不存在方法uploadStoredFiles”。

关于这里发生了什么的任何想法?

1 个答案:

答案 0 :(得分:0)

您列出的错误消息表明,当您调用uploaderInstance.fineUploader('uploadStoredFiles')时,您的Fine-Uploader绑定元素实际上并未绑定到Fine Uploader实例。您的代码中至少存在一个主要语法错误(缺少thumbnails选项的结束括号)。因此,您需要仔细查看代码以了解:

  1. 如果Fine Uploader甚至被正确初始化。
  2. 如果您的代码以某种方式操纵元素,则初始化的Fine Uploader实例将与元素解除关联。