在使用AngularJs制作的Web应用程序中,有一个用户可以上传文件的页面。但我有一些问题。 这是上传的工厂:
import os, csv
from zipfile import *
folder = r'D:/MarketData/forex'
localFiles = os.listdir(folder)
for file in localFiles:
zipArchive = ZipFile(folder + '/' + file)
with zipArchive.open(file[:-4] + '.csv') as csvFile:
reader = csv.reader(csvFile, delimiter=',')
for row in reader:
print(row[0])
如果我尝试上传文件,控制台会给我这个错误:
angular.module('app').factory('FileUpload', ['$http', function($http) {
this.uploadFileToUrl = function(file, uploadUrl){
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(){
})
.error(function(){
});
}
}]);
这是Controller中的功能:
"Error: [$injector:undef] Provider 'FileUpload' must return a value from $get factory method.
答案 0 :(得分:0)
您使用的模式应使用service
而不是factory
。对于工厂,您希望返回new
'd up实例,通过服务您只需提供该功能。
angular.module('app').service('FileUpload',...