Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 精细上传器-在Angular Controller中自定义文件模板_Javascript_Twitter Bootstrap_Angularjs_Fine Uploader - Fatal编程技术网

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文件上载,您可能想看看支持上载/拖放和进度的轻量级简单代码。