我知道怎么做角度为1的亚马逊s3文件上传。我可以知道如何以角度2上传文件。但我没有找到角度2的任何解决方案。
答案 0 :(得分:5)
它仍然需要更好/一些安全性。
<form (ngSubmit)="onSubmit(f)" #f="ngForm" action="">
<input type="file" (change)="fileEvent($event)" />
</form>
<button (click)="uploadfile(f)">Upload file!</button>
export class Page2 {
myfile:any;
file:any;
constructor() {
}
uploadfile(event) {
AWS.config.accessKeyId = 'YOUR-ACCESS-KEY';
AWS.config.secretAccessKey = 'YOU-SECRET-ACCESS-KEY';
var bucket = new AWS.S3({params: {Bucket: 'YOUR-BUCKET-NAME'}});
var params = {Key: this.file.name, Body: this.file};
bucket.upload(params, function (err, data) {
console.log(err, data);
});
}
fileEvent(fileInput: any){
var files = event.target.files;
var file = files[0];
this.file = file;
}
}
答案 1 :(得分:3)
如果您正在使用Rails后端(甚至是Node),最简单的解决方案是创建一个预签名URL(必须是PUT),然后使用Angular服务来调用该PUT并将该文件附加到该主体中。请求。
您可以详细了解我是如何做到的here。
答案 2 :(得分:0)
我不知道你是否已经解决了这个问题,但你所要做的就是重建发送给S3的帖子请求