définition:
Le constructeur Blob() renvoie un nouvel objet Blob. Le contenu du blob est constitué de la concaténation des valeurs données dans le tableau de paramètres.
grammaire
var aBlob = new Blob( array, options );
paramètre
array est un Array composé d'objets ArrayBuffer, ArrayBufferView, Blob, DOMString, etc., ou d'un mélange d'autres objets similaires, qui seront placés dans le Blob. Les DOMStrings seront encodés en UTF-8.
options est un dictionnaire BlobPropertyBag facultatif, qui peut spécifier les deux propriétés suivantes :
type, la valeur par défaut est "", qui représente le type MIME du contenu du tableau qui sera placé dans le blob.
terminaisons, la valeur par défaut est "transparent", utilisée pour spécifier comment la chaîne contenant le terminateur de ligne \n est écrite. Il s'agit de l'une des deux valeurs suivantes : "native", ce qui signifie que les fins de ligne sont remplacées par des retours à la ligne appropriés pour le système de fichiers du système d'exploitation hôte, ou "transparent", ce qui signifie que les blobs enregistrés restent inchangés.
exemple
var aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一个包含 DOMString 的数组 可以是dom 数字 对象 日期等等 都要转成字符串
//例如: let aFileParts = [JSON.stringify({age:18,sex:'男'})]
var oMyBlob = new Blob(aFileParts, {
type : 'text/html'}); // 得到 blob 里面的type是 MIME 类型 也就是 前面内容的格式 需要转成什么类型的格式
blob à déposer
let obj = {
age: 18,
sex: '男'
}
let content = JSON.stringify(obj)
// blob类型
let blob = new Blob([content], {
type: 'application/json'
})
// 将blob转成url
let url = URL.createObjectURL(blob) //blob:null/244bec7f-e3d3-43d5-803e-f98cc5c8117f =>链接里面的数据就是右边的内容 {"age":18,"sex":"男"}
console.log(url)
//blob转file
let filename = '文件名'
var file = new File([blob], filename, {
type: 'application/json',
lastModified: Date.now()
});
//或者
var file1 = new File([content], filename, {
type: 'application/json',
lastModified: Date.now()
});
console.log("文件", file, file1)