我一直在尝试使用angular-file-upload here https://github.com/nervgh/angular-file-upload和typescript,我一直收到这个错误:
TypeError:" Uploader"必须是FileUploader的一个实例 我必须在实际的angular-file-upload上放置一个声明模块和导出命名空间来使用模块(因为这就是我们的框架是如何构建的)但我似乎无法超越这个错误
不要担心模块初始化或命名空间名称等我应该在那里放置占位符以不显示我们的实际代码。
以下代码:
/// <reference types="angular" />
/// <reference types="angular-ui-bootstrap" />
/// <reference types="angular-file-upload"/>
var bootbox: any;
module MyModule.module {
export class MyController {
static $inject = [
"$scope",
"$q",
"$state",
"FileUploader"
];
constructor(private scope: any,
private promiseService: angular.IQService,
private stateService: angular.ui.IStateService,
private uploader: angular.file.upload.FileUploader
)
{
this.uploader.url = "upload.php";
this.scope.uploader = this.uploader
}
(function () {
"use strict";
angular.module("myApp").controller("app.mymodule.controller", Namespace.MyApp.MyController);
})();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<input type="file" nv-file-select uploader="vm.uploader" /><br />
<ul>
<li ng-repeat="item in uploader.queue">
Name: <span ng-bind="item.file.name"></span><br />
<button ng-click="item.upload()">upload</button>
</li>
</ul>
&#13;
答案 0 :(得分:0)
尝试使用FileUploader
new angular.file.upload.FileUploader()
答案 1 :(得分:0)
我解决了我的问题,我没有正确使用接口。这是正确的代码:
constructor(private scope: any,
private fileUploaderFactory: angular.file.upload.FileUploaderFactory) {
this.scope.uploader = new fileUploaderFactory({
url: 'upload.php'
});
}
&#13;