1

Angular.js を使用して、ファイル名に乱数を 1 つ追加する必要があります。以下にコードを説明します。

<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) を 1 つ含める必要があります。助けてください。

4

2 に答える 2

0

ここで私の作業中のjsfiddle

これがコントローラーです

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;
  }
 });

これはHTMLです

<div data-ng-app="app" data-ng-controller="ctrl">
<input type="file" data-size="lg" ng-model="regfile" ngf-select ngf-change="onRegFileSelect($file);" >
<p>
{{newname}}
</p>
</div>
于 2015-12-28T11:18:37.080 に答える
0

使用できますUpload.rename(file, newName)。これにより、ファイルが新しい名前でアップロードされます。

UI にファイルの新しい名前を表示する目的で、新しい名前を保持するスコープ変数を使用するか、 でアクセスできますfile.ngfName

于 2015-12-29T12:41:26.970 に答える