文件面板
每当您选择一个没有 URL 的文件(例如图片或视频),或者在选中文件时点击格式工具栏中的“替换文件”按钮时,文件面板都会出现。
文件上传
您可能会注意到,在新建一个 BlockNote 编辑器时,文件面板中的“上传”标签缺失。这是因为您必须为 BlockNote 提供一个处理文件上传的函数,使用 uploadFile 编辑器选项:
type uploadFile = (file: File) => Promise<string>;file: 要上传的文件,此处为图片文件。
返回值: 一个 Promise,解析后得到该图片可访问的 URL。
您可以使用提供的 uploadToTempFilesOrg 函数作为起点,该函数会将文件上传到 tmpfiles.org。然而,不推荐在生产环境中使用它——您应当使用自己的后端:
解析 URL
根据您的后端实现,上传文件后返回的 URL 可能不是指向文件本身,而是一个允许访问该文件的 API 端点。在这种情况下,渲染区块时需要从该端点获取文件。
BlockNote 通过 resolveFileUrl 编辑器选项 支持此用例:
type resolveFileUrl = (url: string) => Promise<string>;