2016-04-20 16 views
0

我有一個問題。我嘗試在使用Angular.js上傳文件後重命名文件名ng-file-upload。但是我的情況發生了什麼,當我我正在刪除ngf-min-height="400" ngf-resize="{width: 400, height:400}" properties.I解釋我的代碼如下。無法使用Angular.js替換文件名ng-file-upload

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" ngf-min-height="400" ngf-resize="{width: 400, height:400}" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" > 

我的控制器端代碼如下。

$scope.onFileSelect = function($files) { 
     fileURL=$files; 
     $scope.imageData=''; 
    } 
var file=fileURL; 
var today=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, ''); 
var newpath=today+"_"+ file.name; 
file.name=newpath; 

在上面的代碼我增加了隨機數文件名和更換it.In這種情況下,其正常來,但如果我從文件中輸入類似下面取出ngf-min-height="400" ngf-resize="{width: 400, height:400}"

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" > 

在這種情況下,我不能沒有新的文件名,我不需要限制文件height and width請幫我解決這個問題。

回答

3

NG-文件上傳的上傳服務具有此方法。 下面是一個例子:

$scope.$watch('dropFile', function() { 
    uploadFile($scope.dropFile); 
}); 

function uploadFile(file) { 
    if (!file) { 
    return; 
    } 

    file = Upload.rename(file, "newName.ext"); 

    Upload.upload({ 
     url: <api url for upload>, 
     data: {file: file} 
    }).then(function (resp) { 
     //successful 
    }, function (resp) { 
     //error 
    }, function (evt) { 
     //progress 
    }); 
} 
+0

是的,它的工作。感謝你。 – satya

+0

不錯!我試圖找到那樣的東西。謝謝 – Fabio

0

試試這個代碼

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" accept="image/*" ng-file-select="onFileSelect($files[0]);" > 

$scope.onFileSelect =function(file){ 
    filename = 'jihin.' + file.name.split(".")[1]; 
    var imgFile = new File([file], filename, {type:file.type}); 
    console.log(imgFile); 
}; 
+0

好,我將設法這一點,但它與'NGF-最小高度OK = 「400」 NGF調整大小= 「{寬度:400,高度:400}」'當我我不清楚這是不是發生。爲什麼?它需要解決。 – satya

+0

use ng-file-select =「onFileSelect($ files [0]);」 insf的ngf-select @satya – byteC0de