Javascript 精细上传器-在Angular Controller中自定义文件模板
我有一个角度控制器的罚款上传。我想自定义文件模板,使其在文本输入中显示文件名,因为我使用的是引导,所以我只想在成功、错误或警报时更新输入的验证状态 这是我的控制器:Javascript 精细上传器-在Angular Controller中自定义文件模板,javascript,twitter-bootstrap,angularjs,fine-uploader,Javascript,Twitter Bootstrap,Angularjs,Fine Uploader,我有一个角度控制器的罚款上传。我想自定义文件模板,使其在文本输入中显示文件名,因为我使用的是引导,所以我只想在成功、错误或警报时更新输入的验证状态 这是我的控制器: app.controller('templateBuilderUpload', function ($scope, $rootScope, $routeParams, $location, api) { var manualuploader = $('#manual-fine-uploader').fineUploader({
app.controller('templateBuilderUpload', function ($scope, $rootScope, $routeParams, $location, api) {
var manualuploader = $('#manual-fine-uploader').fineUploader({
request: {
endpoint: 'api/Template/UploadFile'
},
autoUpload: false,
text: {
uploadButton: '<input type="submit" value="Browse" class="btn btn-mini span2">'
},
validation: {
allowedExtensions: ['pdf', 'doc', 'docx', 'tif', 'tiff']
},
multiple: false
})
manualuploader.on('complete', function(id, name, response, xhr) {
//Pull out the id, and redirect to /build/
if (typeof xhr.newTemplates != 'undefined') {
var template = xhr.newTemplates[0];
//Save Template Name
template.Name = $scope.templateName;
api.post('/api/Template/Save/', template, function() {
//Redirect
$location.path('/templateBuilder/build/' + template.Id);
$scope.safeApply();
});
}
});
$scope.errors = [];
$scope.triggerUpload = function() {
manualuploader.fineUploader('uploadStoredFiles');
}
});
app.controller('templateBuilderUpload',函数($scope、$rootScope、$routeParams、$location、api){
var manualuploader=$(“#手动精细上传器”)。精细上传器({
请求:{
端点:“api/Template/UploadFile”
},
自动上载:false,
正文:{
上载按钮:“”
},
验证:{
允许的扩展:['pdf'、'doc'、'docx'、'tif'、'tiff']
},
多重:假
})
manualuploader.on('complete',函数(id、名称、响应、xhr){
//拉出id,并重定向到/build/
if(xhr.newTemplates的类型!=“未定义”){
var template=xhr.newTemplates[0];
//保存模板名称
template.Name=$scope.templateName;
api.post('/api/Template/Save/',模板,函数(){
//重定向
$location.path('/templateBuilder/build/'+template.Id);
$scope.safeApply();
});
}
});
$scope.errors=[];
$scope.triggerUpload=函数(){
手动上传器。精细上传器(“上传存储文件”);
}
});
我尝试添加fileTemplate:
,然后包括我想要的html。它没有成功,实际上什么也没有显示<代码>模板但确实有效
此外,我不知道如何更新输入的验证状态。我对您在这里尝试执行的操作感到有点困惑。首先,为什么要使用提交按钮作为上传按钮?第二,你所说的“文本输入”在哪里?它不存在于您在问题中包含的代码中的任何地方。第三,为什么希望
XMLHttpRequest
对象上存在“newTemplates”属性?我怀疑你的代码有很多问题,如果你能更全面地描述你的应用程序和支持的工作流,也许我可以帮你更多。另外,你的complete
处理程序是错误的。所有jQuery事件处理程序都有一个事件
参数作为第一个参数传递。这在…中有介绍,并且没有文件模板
选项。这是fileTemplate
。输入错误,我使用的是fileTemplate
。我没有写所有的代码,同意我们可以用浏览按钮做得更好,我会修复它。XHR对象的存在是因为我们的实现需要。如果您正在寻找替代的angular文件上载,您可能想看看支持上载/拖放和进度的轻量级简单代码。