Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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 上传到s3 bucket之前如何重命名文件名?角度文件上传_Javascript_Angularjs_Amazon S3_Angular8 - Fatal编程技术网

Javascript 上传到s3 bucket之前如何重命名文件名?角度文件上传

Javascript 上传到s3 bucket之前如何重命名文件名?角度文件上传,javascript,angularjs,amazon-s3,angular8,Javascript,Angularjs,Amazon S3,Angular8,我已经在s3 bucket中设置了要上传的文件,我需要在文件扩展名之前添加时间戳。我正在用angular 8编写这个代码。 这就是我正在使用的方法 onFileChange(files: FileList) { for (let fItr in files) { if (fItr != 'length' && fItr != 'item') { // var fileExtension = '.' + files[fItr].name.split('.').pop(); //

我已经在s3 bucket中设置了要上传的文件,我需要在文件扩展名之前添加时间戳。我正在用angular 8编写这个代码。 这就是我正在使用的方法

onFileChange(files: FileList) {

for (let fItr in files) {
if (fItr != 'length' && fItr != 'item') {
// var fileExtension = '.' + files[fItr].name.split('.').pop();
// files[fItr].name= Math.random().toString(36).substring(7) + new Date().getTime() + fileExtension;
this.attachment.push(files[fItr]);
this.fileToUpload.push(files.item(parseInt(fItr)));
}

样本输入

crawlling.php
fileupload.csv
fileupload.pptx
loading.mp4
示例输出(我需要像这样上传文件)


尝试附加到blob并创建新文件并推送

onFileChange(files: FileList) {       
      for (let fItr in files) {
          if (fItr != 'length' && fItr != 'item') {
              var fileExtension = '.' + files[fItr].name.split('.')[1];
              var prefix=files[fItr].name.split('.')[0];
              var name= prefix+this.convertDate()+ Math.random().toString(36).substring(7) + new Date().getTime() + fileExtension;
              var blob = fItr.slice(0, fItr.size, fItr.type); 
              var newFile = new File([blob], name, {type: fItr.type});
          }
       }
 }
convertDate(){
    var date=new Date();
    day=date.getDate();
    month=date.getMonth();
    month=month+1;
    if((String(day)).length==1)
    day='0'+day;
    if((String(month)).length==1)
    month='0'+month;
    return date.getFullYear()+""+month+""+ day;
}

您好@pc_coder,正在进行转换,但我上传时给出的前缀文件名已更改为其他随机名称。(dora.png是我上传的文件名,它已转换为ts3wv21594228931179.png)我刚刚打开了您的评论行。我现在将更新您的预期结果。
onFileChange(files: FileList) {       
      for (let fItr in files) {
          if (fItr != 'length' && fItr != 'item') {
              var fileExtension = '.' + files[fItr].name.split('.')[1];
              var prefix=files[fItr].name.split('.')[0];
              var name= prefix+this.convertDate()+ Math.random().toString(36).substring(7) + new Date().getTime() + fileExtension;
              var blob = fItr.slice(0, fItr.size, fItr.type); 
              var newFile = new File([blob], name, {type: fItr.type});
          }
       }
 }
convertDate(){
    var date=new Date();
    day=date.getDate();
    month=date.getMonth();
    month=month+1;
    if((String(day)).length==1)
    day='0'+day;
    if((String(month)).length==1)
    month='0'+month;
    return date.getFullYear()+""+month+""+ day;
}