Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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 Can';t使用ngx上传模块上传到s3 bucket后打开图像文件_Javascript_Angular_File Upload_Amazon S3 - Fatal编程技术网

Javascript Can';t使用ngx上传模块上传到s3 bucket后打开图像文件

Javascript Can';t使用ngx上传模块上传到s3 bucket后打开图像文件,javascript,angular,file-upload,amazon-s3,Javascript,Angular,File Upload,Amazon S3,我正在使用ngx uploader模块使用Angular2+上预先指定的url将图像上载到s3 这是我的客户端代码 从'@angular/core'导入{Component,OnInit,Inject,EventEmitter}; 从“@angular/material”导入{MatDialog,MatDialogRef,MAT_DIALOG_数据,matsnakbar}; 从“ngx uploader”导入{UploadOutput、UploadInput、UploadFile、E字节、Up

我正在使用ngx uploader模块使用Angular2+上预先指定的url将图像上载到s3

这是我的客户端代码

从'@angular/core'导入{Component,OnInit,Inject,EventEmitter};
从“@angular/material”导入{MatDialog,MatDialogRef,MAT_DIALOG_数据,matsnakbar};
从“ngx uploader”导入{UploadOutput、UploadInput、UploadFile、E字节、UploadeOptions、UploadProgress};
@组成部分({
选择器:“应用程序上载对话框”,
templateUrl:'./upload dialog.component.html',
样式URL:['./上传对话框.component.scss'],
})
导出类UploadDialogComponent实现OnInit{
选项:上传选项;
上传输入:EventEmitter;
文件名:字符串;
建造师(
公共dialogRef:MatDialogRef,
@注入(MAT_对话框_数据)公共数据:任意){
}
恩戈尼尼特(){
}
uploadFichier(输出:UploadOutput):无效{
if(output.type=='addedToQueue'&&typeof output.file!=='undefined'){
this.currentFile=output.file;
this.fileName=output.file.name;
}
//这是最后一次
如果(output.type==='done'){
//上传完成后
}
}
保存文件(){
const respo=response.json();
let事件:上传输入;
console.log(此.current文件)
事件={
键入:“uploadFile”,
文件:this.current文件,
url:“此处的url”,
方法:'放',
标题:{'Content-Type':this.currentFile.Type}
};
this.uploadInput.emit(事件);
/** */
}
取消{
const cancelEvent:UploadInput={
键入:“取消所有”
};
this.uploadInput.emit(cancelEvent);
}
}

如何在服务器端处理文件

ngx uploader使用多部分/表单数据进行上传


repo中有一个示例服务器。

从服务器端,我使用aws sdk生成一个预先签名的url,然后使用此url从客户端直接将图像上载到s3。我刚刚创造了一个要点来说明这一点:你能看看这个问题吗?sdk需要的是流,而不是多部分/表单数据。作为一种解决方法,将文件保存到服务器上,然后将其流式传输到S3。我将您的要点添加到ngx uploader的里程碑中。见: