首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从IPFS下载后获取文件类型

从IPFS下载后获取文件类型
EN

Stack Overflow用户
提问于 2021-12-21 20:50:17
回答 4查看 466关注 0票数 4

我用ipfs下载文件..。但是ipfs没有文件名或扩展名。

如何根据下载的数据正确设置保存文件的扩展名?

EN

回答 4

Stack Overflow用户

发布于 2022-06-15 14:47:40

您可以添加带有ipfs add -w的文件,以便将它们“包装”到目录中。这将保留文件名。

也有计划记录元数据,如mime类型和文件,但不幸的是,这方面的进展已经有点停滞。

票数 1
EN

Stack Overflow用户

发布于 2022-06-10 00:59:51

无法确定地在IPFS中获得文件扩展名,因此可以查看文件的内容来推断其文件类型(例如,使用file-type )。

当缓冲区中有文件的全部内容时,可以这样做:

代码语言:javascript
运行
复制
import {fileTypeFromBuffer} from 'file-type';

let buffer = /* buffer of file from IPFS */;

// undefined or string of file extension
let ext = (await fileTypeFromBuffer(buffer))?.ext;
票数 0
EN

Stack Overflow用户

发布于 2022-06-11 01:10:04

如果您不想在前面的React应用程序中这样做,这是可行的:

代码语言:javascript
运行
复制
let contentType = await fetch(imageUrl)
  .then(response => {
    return response.blob().then(blob => {
      return {
        contentType: response.headers.get("Content-Type"),
        raw: blob
      }
    })
  })
  .then(data => {
    return data.contentType
  })

file-type的目的是用于Node应用程序,而不是客户端。

如果您尝试使用一个用于Node的库,那么您将得到与库对内置Node模块的内部依赖相关的错误,这些错误在浏览器中是不可用的。您应该使用不同的库从浏览器发出HTTP请求;我建议使用浏览器的内置fetch

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70441454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档