@wordpress/media-utils

媒体实用程序包为抽象媒体功能提供了一组工件,这些工件在需要处理媒体上传或媒体库的情况下可能有用,例如,扩展或实现块编辑器的工件。
这个包是为了供WordPress核心使用。在WordPress之外,它可能无法按预期工作。

安装

安装模块

npm install@wordpress/media-utils--保存

此包假定您的代码将在2015年+环境。如果您使用的环境对此类语言功能和API的支持有限或不支持,您应该包括polyfill发货@wordpress/babel预设在代码中。

美国石油学会

附件

未记录的声明。

MediaUpload(媒体上传)

未记录的声明。

Rest附件

未记录的声明。

变压器附件

将附件对象从REST API形状转换为块编辑器和其他使用者期望的形状。

参数

  • 附件 RestAttachment(恢复附件):REST API附件对象。

上传媒体

当文件上传按钮被激活或通过拖放将文件添加到编辑器时,上传媒体文件。

参数

  • $0 上传MediaArgs:传递给函数的Parameters对象。
  • $0允许的类型 UploadMediaArgs['allowedTypes']:如果不设置所有类型,则使用可上载的媒体类型数组。
  • $0.附加数据 UploadMediaArgs[“其他数据”]:请求中包含的其他数据。
  • $0.filesList($0.files列表) UploadMediaArgs['filesList']:文件列表。
  • $0.max上传文件大小 UploadMediaArgs[“最大上传文件大小”]:站点允许的最大上载大小(以字节为单位)。
  • 错误时$0 UploadMediaArgs['onError']:发生错误时调用的函数。
  • $0.onFileChange(文件更改) UploadMediaArgs['onFileChange']:每次文件或文件的临时表示可用时调用函数。
  • $0.wp允许MimeTypes UploadMediaArgs['wpAllowedMimeTypes']:允许的mime类型和文件扩展名列表。
  • $0.信号 UploadMediaArgs[“信号”]:中止信号。

验证文件大小

验证文件是否在站点的文件上载大小限制内。

参数

  • 文件 文件:文件对象。
  • 最大上传文件大小 :站点允许的最大上载大小(以字节为单位)。

验证时间类型

验证调用方(例如块)是否支持此mime类型。

参数

  • 文件 文件:文件对象。
  • 允许的类型 字符串[]:允许的mime类型列表。

为用户验证时间类型

验证是否允许用户上载此mime类型。

参数

  • 文件 文件:文件对象。
  • wpAllowedMimeTypes(允许的MimeType) 记录<string,string>|null:允许的mime类型和文件扩展名列表。

用法

上传媒体

Media upload util是一个函数,允许调用程序将文件上传到WordPress媒体库。
例如,前提是我的文件是文件对象的数组,处理文件更改onFileChange是一个函数,它接收包含WordPress媒体项描述和handleFile错误是一个接收描述可能错误的对象的函数,以下代码将文件上载到WordPress媒体库:

wp.mediaUtils.utils.uploadMedia({文件列表:myFiles,onFileChange:处理文件更改,onError:句柄文件错误,} );

以下代码将一个名为foo.txt的文件上载到媒体库,其中包含foo作为内容,并向其URL发出警报:

wp.mediaUtils.utils.uploadMedia({文件列表:[new File(['foo'],'foo.txt',{type:'text/plain'})],onFileChange:([文件对象])=>警报(文件对象.url),onError:控制台错误,} );

请注意,首先使用临时blob URL调用onFileChange,然后使用最终的URL,这样可以在乐观的UI中显示结果,就像上传已经完成一样。例如:上传图像时,即使在上传完成之前,用户也可以立即在UI中显示图像。

MediaUpload(媒体上传)

媒体上传组件提供了一个UI按钮,允许用户打开WordPress媒体库。它通常与过滤器一起使用编辑。媒体上传.
组件遵循中指定的接口https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-upload/README.md,可以在那里查看有关其用法的更多详细信息。

参与此包

这是古腾堡项目的一部分。该项目组织为单回购。它由多个独立的软件包组成,每个包都有特定的用途。此monorepo中的包发布到净现值并由使用WordPress(文字出版社)以及其他软件项目。

要了解更多关于对这个包或古腾堡整体贡献的信息,请阅读该项目的主要内容投稿人指南.