我需要一个帮助。我需要使用Angular.js在文件名中添加一个随机数。我正在解释下面的代码。
<div ng-class="{'myError': billdata.regdoc.$touched && billdata.regdoc.$invalid }">
<input type="file" class="filestyle form-control" data-size="lg" name="regdoc" id="regdoc" ng-model="regfile" ngf-pattern="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.wordprocessingml.document" accept="application/pdf,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.wordprocessingml.document" ngf-select="onRegFileSelect($file);" >
</div>
</div>
<div class="help-block" ng-messages="billdata.regdoc.$error" ng-if="billdata.regdoc.$touched">
<p ng-message="pattern" style="color:#F00;">This field only accepts .pdf,.ppt,.docx files.</p>
</div>
我的控制器文件代码如下所示。
var regDocURL='';
$scope.onRegFileSelect=function(files){
console.log('docs details',files);
regDocURL=files;
}
var curnum=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, '');
var regDocs=regDocURL;
var newRegPath=curnum+"_"+ regDocs.name;
regDocs.name=newRegPath;
console.log('reg file',newRegPath,regDocs);
这里在控制台消息中我无法获取包含一些随机数的新文件名。这里我需要包含一个随机数(i.e-curnum
)和文件名。请帮助我。
答案 0 :(得分:0)
这是我的工作jsfiddle
这是控制器
[uName] varchar
[password] varchar
[dtCreated] datetime
[dtUpdated] datetime
[isLocked] bit
这是HTML
angular.module('app', ["ngFileUpload"]).controller('ctrl', function($scope) {
$scope.onRegFileSelect=function(files){
console.log('docs details',files);
var curnum=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, '');
$scope.newname=curnum+"_"+ files.name;
}
});
答案 1 :(得分:0)
您可以使用Upload.rename(file, newName)
。这将使用新名称上传文件。
为了在ui上显示文件的新名称,您可以使用范围变量来保留新名称,或者可以使用file.ngfName
访问它。