formato de flujo binario
formato blob
Prefacio:
Requisitos: realizar el procesamiento de datos en función del flujo de archivos devuelto por la interfaz de fondo e implementar la descarga de archivos, y el archivo descargado es un documento de Word.
Interfaz de archivo de descarga de paquetes:
Al principio, ResponseType: "Blob" no estaba incluido . Después de descargar el archivo, ¡todo el contenido estaba confuso! ! !
Código:
//下载文件
async function DownLoadFile(row) {
let res = await DownLoadFileAPI(row.id);
const blobURL = window.URL.createObjectURL(
new Blob([res.data], { type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" })
);
const tempLink = document.createElement("a");
(tempLink.style.display = "none"), (tempLink.href = blobURL);
tempLink.setAttribute("download", row.filename);
document.body.appendChild(tempLink);
tempLink.click();
document.body.removeChild(tempLink);
window.URL.revokeObjectURL(blobURL);
}
Puntos de conocimiento adicionales:
1、nuevo Blob(blobPartes, opciones);
Tipos comunes de tipo :
nombre de la extensión | Tipo de archivo | Tipo de Mimica |
.doc | Microsoft Word | aplicación/msword |
.docx | Microsoft Word | aplicación/vnd.openxmlformats-officedocument.wordprocessingml.document |
.jpeg/.jpg | imágenes JPEG | imagen/jpeg |
.mp3 | audio MP3 | audio/mpeg |
Solicitud PDF | ||
.xls | Microsoft Excel | aplicación/vnd.ms-excel |
.xlsx | Microsoft Excel | aplicación/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.cremallera | CREMALLERA | aplicación/zip |
Ver más: Tipos de medios
2. Conversión de formato
Blob de transferencia binaria
const blob = new Blob([BufferSource],{type:type})
blob a base64
BlobToBase64(blob,cb){
const fileReader = new FileReader()
fileReader.onload = function(e){
cb(e.target.result)
}
fileReader.readAsDataURL(blob)
}