Size: a a a

Angular - русскоговорящее сообщество

2019 September 30

A

A1eksey in Angular - русскоговорящее сообщество
В принципе я же подписан на хаб, и у меня есть открытая страница, если хаб стреляет, то я беру форму и сохраняю её
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
Roman Kolesnikov
больше информации
Бэк отдет pdf, как его встретьить правильно в Angular и что бы user смог его сохранить...
источник

RK

Roman Kolesnikov in Angular - русскоговорящее сообщество
A1eksey
В принципе я же подписан на хаб, и у меня есть открытая страница, если хаб стреляет, то я беру форму и сохраняю её
+
источник
2019 October 01

A

A1eksey in Angular - русскоговорящее сообщество
Andrey Kolkov
Бэк отдет pdf, как его встретьить правильно в Angular и что бы user смог его сохранить...
Он тебе его отдаёт как готовый файл ? Или как массив байт ?
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
 onSubmit() {
   const invoiceData: InvoiceCreate = new InvoiceCreate(this.companyId, this.amount);
   this.service.create(invoiceData).subscribe(
     x => {
       alert('Счет успешно сформирован!');
       console.log(x);
       const blob = new Blob([x], {type: 'application/pdf'});
       console.log(blob);
       saveAs(blob, 'testData.pdf');
       this.status.emit(true);
     },
       error => {
         console.log(error);
       alert('Ошибка формирования счета...');
       this.status.emit(false);
       }
   );
 }


 create(invoiceData: InvoiceCreate) {
   const body = JSON.stringify(invoiceData);
   const headers = new HttpHeaders().set('Content-Type', 'application/json').set('Accept', 'application/pdf');
   return this.http.post('v1/invoices', body, {headers: headers, responseType: 'blob' });
 }
источник

A

A1eksey in Angular - русскоговорящее сообщество
Там по-моему Blob надо
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
A1eksey
Он тебе его отдаёт как готовый файл ? Или как массив байт ?
как массив байт, я думаю.
источник

A

A1eksey in Angular - русскоговорящее сообщество
Посмотри в сторону Blob
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
A1eksey
Там по-моему Blob надо
я вроде выше все, как нужно сделал... (
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
reader говорит, не могу прочитать pdf из сохраненного файла.
источник

A

A1eksey in Angular - русскоговорящее сообщество
Есть реализации GenericResponse number | Blob а-ля сначала процесс загрузки, потом сам файл
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
A1eksey
Есть реализации GenericResponse number | Blob а-ля сначала процесс загрузки, потом сам файл
поподробнее плиз...
источник

RK

Roman Kolesnikov in Angular - русскоговорящее сообщество
Andrey Kolkov
 onSubmit() {
   const invoiceData: InvoiceCreate = new InvoiceCreate(this.companyId, this.amount);
   this.service.create(invoiceData).subscribe(
     x => {
       alert('Счет успешно сформирован!');
       console.log(x);
       const blob = new Blob([x], {type: 'application/pdf'});
       console.log(blob);
       saveAs(blob, 'testData.pdf');
       this.status.emit(true);
     },
       error => {
         console.log(error);
       alert('Ошибка формирования счета...');
       this.status.emit(false);
       }
   );
 }


 create(invoiceData: InvoiceCreate) {
   const body = JSON.stringify(invoiceData);
   const headers = new HttpHeaders().set('Content-Type', 'application/json').set('Accept', 'application/pdf');
   return this.http.post('v1/invoices', body, {headers: headers, responseType: 'blob' });
 }
import * as saveAs from 'file-saver'; // "file-saver": "^2.0.2"
-
this.downloadFile(data, 'file_name', 'excel');
-
public downloadFile(data: any, filename, ext) { // data => Blob {size: 6502, type: "application/xlsx"}
   const extList = {
     excel: '.xlsx',
   };
   const blob = new Blob([data], {type: 'application/octet-stream'});
   saveAs(blob, filename + extList[ext]);
 }
источник

RK

Roman Kolesnikov in Angular - русскоговорящее сообщество
реализация выше так же сохранит тебя файл с нужным именем
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
Это PDF?
JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovQ29udGVudHMgNCAwIFI+PgplbmRvYmoKNCAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMTIyPj4Kc3RyZWFtCngBLMw9CsJAEEfxfk/xLxVkndlPpxWiYj0XiM6uEBYCNrm+BKxe9X6EpyMsjnyu2Bx5IsL934+7Ks63ni1Yyz3OlYvI3NIr2CVylVaCkbTS34lDARdPBO2YdD8jexZUSbuthsOjjbGesK3fYUddMKn7BQAA//9RoR7TCmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iago8PC9UeXBlIC9QYWdlcwovS2lkcyBbMyAwIFIgXQovQ291bnQgMQovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQo+PgplbmRvYmoKNSAwIG9iago8PC9UeXBlIC9Gb250Ci9CYXNlRm9udCAvSGVsdmV0aWNhLUJvbGQKL1N1YnR5cGUgL1R5cGUxCi9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iagoyIDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRmY1ZDJkZTVmM2E3MTY5OWFlNGIyZDgzMTc5ZTYyZDA5ZTZmYzQxMjYgNSAwIFIKPj4KL1hPYmplY3QgPDwKPj4KL0NvbG9yU3BhY2UgPDwKPj4KPj4KZW5kb2JqCjYgMCBvYmoKPDwKL1Byb2R1Y2VyICj+/wBGAFAARABGACAAMQAuADcpCi9DcmVhdGlvbkRhdGUgKEQ6MjAxOTEwMDEwMDA0NDgpCj4+CmVuZG9iago3IDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMjc5IDAwMDAwIG4gCjAwMDAwMDA0NjcgMDAwMDAgbiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDg3IDAwMDAwIG4gCjAwMDAwMDAzNjYgMDAwMDAgbiAKMDAwMDAwMDYyOCAwMDAwMCBuIAowMDAwMDAwNzEzIDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgOAovUm9vdCA3IDAgUgovSW5mbyA2IDAgUgo+PgpzdGFydHhyZWYKNzYyCiUlRU9GCg==
источник

A

A1eksey in Angular - русскоговорящее сообщество
Это похоже на base64
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
A1eksey
Это похоже на base64
вот и я о том же... странно ,что с сервера это пришло(
источник

A

A1eksey in Angular - русскоговорящее сообщество
Ничего странного, щас пару сек
источник

A

A1eksey in Angular - русскоговорящее сообщество
источник

AK

Andrey Kolkov in Angular - русскоговорящее сообщество
Навероное я на серваке чет слажал... (
источник