Сервисы SOAP используют протокол HTTP, поэтому это возможно. Для связи с сервисами SOAP вы можете использовать угловой модуль ngx-soap . Внутри тела SOAP-запроса вам нужно поместить файл, который вы хотите загрузить, в виде двоичных данных.
Файл шаблона
<input
style="display: none"
type="file" (change)="onFileChanged($event)"
#fileInput>
<button (click)="fileInput.click()">Select File</button>
<button (click)="onUpload()">Upload!</button>
Файл компонента
export class MyFileUploadComponent {
selectedFile: File
client: Client;
constructor(private soap: NgxSoapService) {
this.soap.createClient('assets/fileuploader.wsdl').subscribe(client => this.client = client);
}
onFileChanged(event) {
this.selectedFile = event.target.files[0]
}
onUpload() {
// upload code goes here
const body = {
file: this.selectedFile
};
(<any>this.client).Add(body).subscribe((res: ISoapMethodResponse) => this.message = res.result.AddResult);
}
}