迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 将 Blob 转换为文件

作者:迹忆客 最近更新:2024/03/22 浏览次数:

本教程说明如何使用 JavaScript 将 blob 转换为文件。blob(二进制大对象)被定义为作为单个实体存储在数据库系统中的一小块二进制数据。

Blob 的主要用途是保存图像、视频和其他多媒体对象。请记住,并非所有数据库管理系统都支持 blob。

你可以在此处找到有关 blob 的更多信息。


使用 JavaScript 将 Blob 转换为文件

Blob()File() 类似,但有两个不同之处,即 lastModifiedDatenameBlob() 没有 lastModifiedDatename

所以,我们有两个选择,要么将这两个属性添加到 blob,要么创建一个实际文件的实例。让我们一一看看这两种情况。

lastModifiedDatename 属性添加到 blob。

function convertBlobToFile(blob, fileName) {
  blob.lastModifiedDate = new Date();
  blob.name = fileName;
  return blob;
}

// Remember, the first parameter of Blob must be an array
var blob = new Blob(['This is the sample data'], {type: 'text/plain'});

// we are giving a url for an image as second parameter below
var file = convertBlobToFile(blob, 'https://bit.ly/3vsUaOe');

console.log(blob instanceof File);  // returns false
console.log(blob);

输出:

false
[object Blob] {
  arrayBuffer: function arrayBuffer() { [native code] },
  lastModifiedDate: [object Date] { ... },
  name: "https://bit.ly/3vsUaOe",
  size: 23,
  slice: function slice() { [native code] },
  stream: function stream() { [native code] },
  text: function text() { [native code] },
  type: "text/plain"
}

请注意,Blob 的行为类似于 File,但不是 File 的实例。让我们通过创建 File 的实例来练习相同的示例。

JavaScript 代码:

// Remember, the first parameter of Blob must be an array
var blob = new Blob(['This is the sample data'], {type: 'text/plain'});

const file = new File([blob], 'https://bit.ly/3vsUaOe', {
  type: blob.type,
});
console.log(file instanceof File);  // returns true
console.log(file instanceof Blob);  // returns true
console.log(file);

输出:

true
true
[object File] {
  arrayBuffer: function arrayBuffer() { [native code] },
  lastModified: 1646123706585,
  lastModifiedDate: [object Date] { ... },
  name: "https://bit.ly/3vsUaOe",
  size: 23,
  slice: function slice() { [native code] },
  stream: function stream() { [native code] },
  text: function text() { [native code] },
  type: "text/plain",
  webkitRelativePath: ""
}

在这里,你可能已经注意到 fileFileBlob 的一个实例,因为 file 继承了 Blob 的属性。

上一篇:在 JavaScript 中返回 False

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 JavaScript 中返回 False

发布时间:2024/03/21 浏览次数:166 分类:JavaScript

本文解释 JavaScript 中的 return false 和 preventDefault 语句;何时何地使用这些语句,它们之间有什么区别。

使用 JavaScript 获取当前 URL

发布时间:2024/03/21 浏览次数:198 分类:JavaScript

在本教程中,我们将讨论如何使用四种不同的方法在 JavaScript 中获取 URL。这些方法将使用 window.location.href、document.location.href、document.URL 和 document.baseURI。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便