1

我正在使用“ https://github.com/nervgh/angular-file-upload ”中给出的 angularjs 文件上传器,所以我的 js 代码如下所示:

var uploader = $scope.uploader = new FileUploader({
  url: 'uploadUrl1.php' 
 });

 uploader.filters.push({
        name: 'customFilter',
        fn: function(item /*{File|FileLikeObject}*/, options) {
            var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
            return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
        }
    });

我在 html 中这样使用它:

 <input type="file" id="fileInput" nv-file-select="" class="upload" uploader="uploader">

我如何定义另一个上传者说uploader2以便将数据发布到不同的 url 说uploadUrl2.php

4

1 回答 1

1

您可以创建两个单独的实例,FileUploader并为每个实例指定一个不同的 URL。例如:

JavaScript

// Define our URLs. Each URL will have it's own instance of FileUploader
var urls = ['uploadUrl1.php', 'uploadUrl2.php'];

// Define our shared filter
var filterObj = {
    name: 'customFilter',
    fn: function(item /*{File|FileLikeObject}*/, options) {
        var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
        return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
    }
};

// Create a new instance of FileUploader with each URL and
// give each instance the filter too
var uploaders = $scope.uploaders = urls.map(function(url) {
    var uploader = new FileUploader({url: url});
    uploader.filters.push(filterObj);
    return uploader;
});

模板

<input type="file" id="fileInput" nv-file-select="" class="upload" uploader="uploaders[0]" />
<input type="file" id="fileInput" nv-file-select="" class="upload" uploader="uploaders[1]" />
于 2015-08-15T13:18:52.893 回答