Scarica Word .docx file Blob Angolare su dispositivi mobili

0

Domanda

Sto provando a scaricare .file docx dal RESTO API (.NET Core FileContentResult) angolo di applicazione. Tutto funziona bene sul PC, ma c'è un problema con il download .file docx in VMware Workspace UN Web browser (non provare standard browser come Chrome o Safari, sembra che c'è solo Android WebView). È una società di applicazione e di questo browser è l'unico consentito.

Il problema è solo con .i file docx. File come PDF, .doc e .xlsx (creato da ClosedXML) stanno lavorando bene.

REST API chiamata (provato anche con 'arraybuffer' invece di 'blob' e creata oggetto Blob nel client, ma il problema persiste)

this.httpClient.get(requestUrl, {
  responseType: 'blob',
  observe: 'response'
});

Poi mi salva risposta del corpo con FileSaver.

generateDocument(file: string | Blob, name: string): void {
  FileSaver.saveAs(file, name);
}
  • Ho provato anche l'approccio che crea collegamento e fare clic su di esso (non funziona).
  • Soluzione con l'utilizzo di finestra.open(blobUrl) non funziona.

EDIT:

  • Ho avuto informazioni che non è affatto l'utilizzo di iOS, con lo stesso browser. Gli utenti di ottenere il messaggio di errore "il Collegamento non è valido."

Qualcuno mi può aiutare con questo problema? Grazie.

android angular blob docx
2021-11-23 17:22:43
1

Migliore risposta

0

Se è possibile recuperare ottenere un ArrayBufferquesto potrebbe essere utilizzato per avviare il download con quei byte:

Prova qui: https://batman.dev/static/70085191/

async function downloadUrl(url) {
  downloadBuffer(
    await (await fetch(url)).arrayBuffer()
  )
}

function downloadBuffer(arrayBuffer) {
  const a = document.createElement('a')
  a.href = URL.createObjectURL(new Blob(
    [ arrayBuffer ],
    { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' }
  ))
  a.download = 'my-file.docx'
  a.click()
}

2021-11-26 19:43:03

Non l'ho provato e non ha funzionato. Telefono cellulare non può aprire il documento.
Viktor 36

Tenta la prova di lavoro, ho aggiunto. Scaricato e aperto sul mio Android Chrome telefono.
AnthumChris

Funziona bene con Chrome, ma non in VMware Workspace Web. Ho fatto la pagina di prova con diverse soluzioni e testato con Chrome su Android e Safari su iOS. Tutto funziona bene in questi browser.
Viktor 36

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................