Konverter MVC bytearray å dowloadable javascript fil

stemmer
0

Jeg klarte å få fra Microsoft MVC den bytearray av en fil, navn og mimetype. Jeg får at data fra en Ajax samtale laget med jQuery og komme i konsollen følgende data:

data: {
  stream: [68, 82, 0, 0, 4, 57, 0, 0, 7, 179, 8, 6, 0, 0,…],
  filename: testFile.png,
  mime: image/png
}

Jeg får som data ved en MVC styreenhet metode som returnerer en byte [] for strømmen og to strenger for filnavn og mime.

Jeg trenger å gjøre denne strømmen js side en fil for brukeren å laste ned. Jeg så mange tilnærminger som involverer Blob objekt, men likevel kan jeg ikke få et riktig fil. Jeg får en større fil, for eksempel for en PNG-bilde, men den nedlastede versjonen kan ikke være åpen så det er ikke gyldig. Her er mitt forsøk på å nå målet:

[...]
$.ajax({
  url: myUrlToControllerMethod, 
  type: 'POST', 
  data: { fileid: myFileId},
  success: function (data) {
    var a = document.createElement('a');
    var blob = new Blob(data.stream, { type: data.mime });
    console.warn(blob)
    const url = URL.createObjectURL(blob);
    console.info(url)
    a.href = url;
    a.download = data.filename;
    document.body.append(a);
    a.click();
    window.URL.revokeObjectURL(url);
  },
[...]

Hvor tar jeg feil?

Publisert på 13/02/2020 klokken 23:54
kilden bruker
På andre språk...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more