Javascript 上传到s3 bucket之前如何重命名文件名?角度文件上传
我已经在s3 bucket中设置了要上传的文件,我需要在文件扩展名之前添加时间戳。我正在用angular 8编写这个代码。 这就是我正在使用的方法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(); //
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;
}