Получаю файл в ответ на POST запрос, перевожу их в JSON далее перевожу их в формат Uint8Array, но когда хочу преобразовать это в файл формата xlsx, получаю ошибку при открытии файла, что он повержден
Изначальный ответ
PK\x03\x04\x14\x00\x00\x00\b\x00\x16\x06TVFZ�\f�\x00\x00\x00�\x00\x00\x00\x10\x00\x00\x00docProps/app.xmlM�M\v…\x00\x00�\x01�/\x00\x00[Content_Types].xmlPK\x05\x06\x00\x00\x00\x00\t\x00\t\x00>\x02\x00\x00\x031\x00\x00\x00\x00
преобразованный в Uint8Array
Uint8Array(22891) [80, 75, 3, 4, 20, 0, 0, 0, 8, 0, 22, 6, 84, 86, 70, 90, 239, 191, 189, 12, 239, 191, 189, 0, 0, 0, 239, 191, 189, 0, 0, 0, 16, 0, 0, 0, 100, 111, 99, 80, 114, 111, 112, 115, 47, 97, 112, 112, 46, 120, 109, 108, 77, 239, 191, 189, 77, 11, 239, 191, 189, 48, 16, 68, 239, 191, 189, 74, 239, 191, 189, 239, 191, 189, 110, 85, 239, 191, 189, 32, 49, 32, 212, 163, 239, 191, 189, 239, 191, 189, 123, 72, 55, 54, 239, 191, 189, 100, 67, 118,
<template>
<div style="display: flex; justify-content: space-between">
<b-form-file v-model="file" name="123" class="mt-3" plain></b-form-file>
<button @click="SendFile()" class="button Accept">ОТПРАВИТЬ</button>
</div>
</template>
<script>
import api from "@/api/wagonPark";
export default {
data() {
return {
file: null,
};
},
methods: {
SendFile() {
console.log(this.file);
let formData = new FormData();
formData.append("file", this.file);
api
.postShipmentList(formData)
.then(data => {
console.log(data)
let json = JSON.stringify(data)
let buffer = Buffer.from(JSON.parse(json).data)
console.log(buffer)
let link = document.createElement('a');
link.download = 'hello.xlsx';
let blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;' });
link.href = URL.createObjectURL(blob);
link.click();
URL.revokeObjectURL(link.href);
})
},
},
};
</script>