Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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.js添加文件名为的随机数_Javascript_Angularjs_Ng File Upload - Fatal编程技术网

Javascript 无法使用Angular.js添加文件名为的随机数

Javascript 无法使用Angular.js添加文件名为的随机数,javascript,angularjs,ng-file-upload,Javascript,Angularjs,Ng File Upload,我需要一个帮助。我需要使用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="r

我需要一个帮助。我需要使用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>
在控制台消息中,我无法获取包含一些随机数的新文件名。在这里,我需要在文件名中包含一个随机数(
i.e-curnum
),请帮助我。

这是我的工作

这是控制器

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>


{{newname}}

这是我的工作

这是控制器

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>


{{newname}}


您可以使用
上传.重命名(文件,新名称)
。这将上载具有新名称的文件


为了在ui上显示文件的新名称,您可以使用将新名称保留在其中的范围变量,也可以使用
file.ngfName
访问它

您可以使用
Upload.rename(文件,newName)
。这将上载具有新名称的文件



为了在ui上显示文件的新名称,您可以使用将新名称保留在其中的范围变量,也可以使用
file.ngfName
访问它

您在后端使用的是什么?您在控制台消息中得到了什么?@ranganatanswamy:我在后端使用PHP。无论如何,regDocs有您的完整文件,ng file upload module没有任何更改名称的权限,因为它用于将文件详细信息传递到后端。您必须在后端执行此操作。我使用了ng文件上传模块,在后端我使用了nodejs。试试regdocs.name,这是您最好的选择,否则您将不得不在后端更改它。您在后端使用什么?您在控制台消息中得到了什么?@RanganathanSwamy:我在后端使用PHP。无论如何,regDocs有您的完整文件,ng file upload module没有任何更改名称的权限,因为它用于将文件详细信息传递给后端。您必须在后端执行此操作。我使用了ng文件上传模块,在后端我使用了nodejs。试试regdocs.name,这是您最好的选择,否则您必须在后端更改它。@Mauro Sala:您做了什么。这里我需要用现有文件名(
文件
)替换新文件名(
i.e-newname
)。现在这是什么意思?@ranganatanswamy:假设
$scope.newname=1234_abc.pdf
文件之前。name=abc.pdf
。添加此随机数后,
文件。name
应该是
1234_abc.pdf
。这不会发生。请再次查看我的帖子。@subhra请查看毛罗·萨拉制作的小提琴,我相信他的解决方案正是您所需要的,如果不是,我认为您应该更清楚地解释您的查询。@ranganatanswamy:不,这不是我的问题。我用
Upload.rename(regDocs,newRegPath)解决了这个问题给了我解决方案。@Mauro Sala:你做了什么。这里我需要用现有文件名(
文件
)替换新文件名(
i.e-newname
)。现在这是什么意思?@ranganatanswamy:假设
$scope.newname=1234_abc.pdf
文件之前。name=abc.pdf
。添加此随机数后,
文件。name
应该是
1234_abc.pdf
。这不会发生。请再次查看我的帖子。@subhra请查看毛罗·萨拉制作的小提琴,我相信他的解决方案正是您所需要的,如果不是,我认为您应该更清楚地解释您的查询。@ranganatanswamy:不,这不是我的问题。我用
Upload.rename(regDocs,newRegPath)解决了这个问题它给了我解决方案。