размещение файла в двоичном формате на URL запроса POST в угловом 7 - PullRequest
0 голосов
/ 10 декабря 2018

Здесь у нас есть команда curl, и нам нужно выполнить ее внутри углового приложения.

curl -X POST <url> --data-binary @<filenname>.dcm

Вот что мы сделали: Сначала мы загрузили файл: HTML

<form>
<input type="file" class="inputFile" (change)="selectFileM($event)">
<button (click)="submit()">submit</button>
</form>

.ts file

selectFileM(event) {
    let snap;
    this.selectedFiles = event.target.files;
    console.log(this.selectedFiles);
    const file = this.selectedFiles.item(0);
    console.log(file);
    this.currentFileUpload = new Fileup(file);
    console.log(this.currentFileUpload);
    this.userService.upload_orthanc(this.currentFileUpload).subscribe(data => {
      console.log(data);
    });

service:

    upload_orthanc(model) {
        let fd: FormData = new FormData();
        fd.append('file', model, model.name);
        var reader  = new FileReader();
        reader.readAsBinaryString(model);
        const a = reader.result;
        return this.http.post('https://trdorthanc.therightdoctors.com/instances', a, this.jwt());
      }
private jwt() {
      let headers = new Headers({'content-type': 'application/dicom' });
      return new RequestOptions({headers: headers});
  }

Мы получаем ошибку: ERROR TypeError: Не удалось выполнить readAsBinaryString для FileReader: параметр 1не относится к типу «Blob».

проверьте скриншот: enter image description here

Пожалуйста, предложите какое-нибудь решение

1 Ответ

0 голосов
/ 10 декабря 2018

readAsBinaryString (BLOB).В вашем случае вы не изменили файл на BLOB.

const modelData= new Blob([model], { type: "application/image" });
.
.
.
reader.readAsBinaryString(modelData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...