在React的ArrayBuffer中显示PNG图像

用户名

我试图在进行JavaScript调用后获取要在React应用中显示的图像(PNG格式)。代码如下。函数DeviceService.getFile返回Blob中的文件。数据是二进制的。如何使该图像在React中正确显示?

我尝试了转换为base64,但没有帮助。

DeviceService.getFile(mapOverlayImagePath, bMap1 => {
        this.setState({ MapOverlay: bMap1 })
        // this.setState({ MapOverlay: 'data:image/png;base64,' + btoa(bMap1) })
        console.log(bMap1)
      })

显示图像的React代码:

<img src={this.state.MapOverlay} alt="MapOverlay" />

我已经修改了此函数,函数getFile如下:

export function getFile(path, cb) {
  if (typeof(cb) === 'undefined' || cb === null)
    return;

  fetch(uris.getFile() + '/?' +
    'path=' + path,
    {method: 'POST', credentials: 'include'})
    .then(reply => reply.blob())
    .then((response) => {
      if (response.data) {
        return cb(response.data);
      }
      return cb(new Blob());
    })
}

此getFile函数位于库中,在React应用程序中用作依赖项。

我尝试在Internet Explorer控制台中打印Blob大小,并显示:[object Blob]: {size: 0, type: ""}我猜我的getFile函数没有按预期传递数据。getFile函数中有任何错误吗?

海道

通过blob-URI,创建此ArrayBuffer的Blob,并使图像指向该Blob。

fetch( 'https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png' )
  .then( r => r.arrayBuffer() )
  .then( buffer => { // note this is already an ArrayBuffer
    // there is no buffer.data here
    const blob = new Blob( [ buffer ] );
    const url = URL.createObjectURL( blob );
    const img = document.getElementById( 'img' );
    img.src = url;
    // So the Blob can be Garbage Collected
    img.onload = e => URL.revokeObjectURL( url );
    // ... do something else with 'buffer'
  } );
<img id="img">

但是,如果您确实不需要ArrayBuffer,则使浏览器直接将Response用作Blob:

fetch( 'https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png' )
  .then( r => r.blob() ) // consume as a Blob
  .then( blob => { 
    const url = URL.createObjectURL( blob );
    const img = document.getElementById( 'img' );
    img.src = url;
    // in case you don't need the blob anymore
    img.onload = e => URL.revokeObjectURL( url );
  } );
<img id="img">

但是,在您的位置上,我什至尝试直接从<img>to发送一个简单的GET请求uris.getFile() + '/?path=' + path

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Webpack捆绑了PNG图像,但React无法显示

来自分类Dev

PNG图像未显示在PDF中

来自分类Dev

关于将图像的Arraybuffer转换为图像并将其显示在html页面中的问题

来自分类Dev

如何在 java SWT 中显示 PNG 图像?

来自分类Dev

React js 应用程序具有相同的文件夹图像,但在 ios png 图像中显示 alpha 透明度问题

来自分类Dev

无法在React Native中显示图像

来自分类Dev

导入的图像未在React中显示

来自分类Dev

图像未显示在 Lightbox React Native 中

来自分类Dev

在 React Native (Expo) 中显示 blob 图像

来自分类Dev

如何在Android中显示两个资源PNG图像的组合图像

来自分类Dev

从管道中读取png图像

来自分类Dev

PIL中的PNG图像质量

来自分类Dev

IE8不会显示.PNG图像

来自分类Dev

使用PHP在html文档中显示带有原始图像数据的PNG

来自分类Dev

如何显示静态/图像文件夹中的.png文件?

来自分类Dev

在C ++ Win32项目的最终exe文件中未显示图像(PNG)

来自分类Dev

如何以编程方式将PNG图像摄取到ArcGIS Server中以显示图块层

来自分类Dev

徽标图像不会显示在导航栏中(png和SVG)

来自分类Dev

在React Native iOS Simulator中无法通过URI显示图像

来自分类Dev

我如何在来自API的React中显示图像

来自分类Dev

在React中显示页面之前如何加载所有图像?

来自分类Dev

使用require.context未在React JS中显示图像

来自分类Dev

在React Native中并排显示图像和文本

来自分类Dev

CameraRoll在React-Native中不显示android上的图像

来自分类Dev

在浏览器中不显示图像-React

来自分类Dev

尽管路径正确,但 React 中未显示图像

来自分类Dev

在 React Native 的 ListView 中显示图像和文本

来自分类Dev

图像不会显示在 react-vs-timeline 中

来自分类Dev

如何在 React Native 中显示渐变 SVG 图像

Related 相关文章

  1. 1

    Webpack捆绑了PNG图像,但React无法显示

  2. 2

    PNG图像未显示在PDF中

  3. 3

    关于将图像的Arraybuffer转换为图像并将其显示在html页面中的问题

  4. 4

    如何在 java SWT 中显示 PNG 图像?

  5. 5

    React js 应用程序具有相同的文件夹图像,但在 ios png 图像中显示 alpha 透明度问题

  6. 6

    无法在React Native中显示图像

  7. 7

    导入的图像未在React中显示

  8. 8

    图像未显示在 Lightbox React Native 中

  9. 9

    在 React Native (Expo) 中显示 blob 图像

  10. 10

    如何在Android中显示两个资源PNG图像的组合图像

  11. 11

    从管道中读取png图像

  12. 12

    PIL中的PNG图像质量

  13. 13

    IE8不会显示.PNG图像

  14. 14

    使用PHP在html文档中显示带有原始图像数据的PNG

  15. 15

    如何显示静态/图像文件夹中的.png文件?

  16. 16

    在C ++ Win32项目的最终exe文件中未显示图像(PNG)

  17. 17

    如何以编程方式将PNG图像摄取到ArcGIS Server中以显示图块层

  18. 18

    徽标图像不会显示在导航栏中(png和SVG)

  19. 19

    在React Native iOS Simulator中无法通过URI显示图像

  20. 20

    我如何在来自API的React中显示图像

  21. 21

    在React中显示页面之前如何加载所有图像?

  22. 22

    使用require.context未在React JS中显示图像

  23. 23

    在React Native中并排显示图像和文本

  24. 24

    CameraRoll在React-Native中不显示android上的图像

  25. 25

    在浏览器中不显示图像-React

  26. 26

    尽管路径正确,但 React 中未显示图像

  27. 27

    在 React Native 的 ListView 中显示图像和文本

  28. 28

    图像不会显示在 react-vs-timeline 中

  29. 29

    如何在 React Native 中显示渐变 SVG 图像

热门标签

归档