React Image:createObjectURL 链接给出错误 404(未找到)

2024-05-17

我在 React with Typescript 中使用以下代码创建了一个 ImageUrl。它创建了一个 URL,但不显示图片图像。单击 URL(例如“http://localhost:3003/0b4de100-d8eb-49a7-b43a-e2147310abbe”)会出现以下错误。我怎样才能解决这个问题 ?

Error:

http://localhost:3003/0b4de100-d8eb-49a7-b43a-e2147310abbe 无法加载资源:服务器响应状态为 404(未找到)

Code:

 const [photoURL, setPhotoUrl] = useState<string>('');

 const pictureData = await getPatientAvatar(patientId);
 const blob = new Blob([pictureData], { type: 'image/jpeg' });
 const imageUrl = URL.createObjectURL(blob);
 setPhotoUrl(imageUrl);

 <img src={photoUrl} />

网络选项卡中的图片:


调用创建的URLURL.createObjectURL() https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL is a blob URL https://stackoverflow.com/q/30864573/438273和它的protocol https://developer.mozilla.org/en-US/docs/Web/API/URL/protocol总是blob:.

您在问题中显示的 URL 不是使用该方法创建的 blob URL,因为它的协议是http:.

我在下面的代码片段中包含了一个工作示例。它将根据图像 blob 数据创建一个对象 URL,然后将 URL 渲染为字符串,同时将其用作渲染实际图像的源。您可以使用代码作为模型来重现成功。

<style>.avatar { height: 150px; width: 150px; }</style>
<div id="root"></div><script src="https://cdn.jsdelivr.net/npm/[email protected] /cdn-cgi/l/email-protection/umd/react.development.js"></script><script src="https://cdn.jsdelivr.net/npm/[email protected] /cdn-cgi/l/email-protection/umd/react-dom.development.js"></script><script src="https://cdn.jsdelivr.net/npm/@babel/[email protected] /cdn-cgi/l/email-protection/babel.min.js"></script><script>Babel.registerPreset('tsx', {presets: [[Babel.availablePresets['typescript'], {allExtensions: true, isTSX: true}]]});</script>
<script type="text/babel" data-type="module" data-presets="tsx,react">

// This Stack Overflow snippet uses UMD modules
const {StrictMode, useEffect, useState} = React;

// Since the Stack Overflow code snippet doesn't have access to your server,
// here is a function for fetching your example image data as a blob
async function fetchImageBlob (): Promise<Blob> {
  const response = await fetch('https://i.imgur.com/uSvshvJ.jpg');
  if (!response.ok) throw new Error('Response not OK');
  return response.blob();
}

function App (): React.ReactElement {
  const [objUrl, setObjUrl] = useState<string | undefined>();
  
  useEffect(() => void (async () => {
    if (objUrl) return;
    const blob = await fetchImageBlob();
    const oUrl = URL.createObjectURL(blob);
    setObjUrl(oUrl);
  })(), [objUrl]);

  return objUrl
    ? (
      <div>
        <pre><code>{objUrl}</code></pre>
        <img className="avatar" src={objUrl}></img>
      </div>
    )
    : (<div>Loading image...</div>);
}

const reactRoot = ReactDOM.createRoot(document.getElementById('root')!);

reactRoot.render(
  <StrictMode>
    <App />
  </StrictMode>
);

</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React Image:createObjectURL 链接给出错误 404(未找到) 的相关文章

随机推荐

  • 在 Emacs 中,如何确定哪个包正在加载 Tramp?

    我与 ranp 和 cygwin mount 有一个奇怪的交互 我认为 Emacs 文件名的制表符补全会附加一个额外的 i cygwin https stackoverflow com questions 1705802 emacs tab
  • JDesktopPane 放置

    我有一个 JDesktopPane 并希望以网格样式显示 JInternalFrames 而不覆盖框架 框架的尺寸会有所不同 因此应动态分配它们的位置 我可以存储最后放置的框架的坐标 但框架可以移动 最小化或关闭 它们是一种以整齐的方式放置
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • 当变量有连字符时的 Patsy 公式

    我正在尝试将 statsmodel 线性回归函数与公式一起使用 我的示例数据来自 Pandas 数据框 我对公式中的列名称有一个小问题 由于下游流程 我的列名称中包含连字符 例如 VOLT B NN B IDW 现在 保留连字符的原因之一是
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • Laravel Vue js spa 应用程序

    1 我想知道为什么人们使用两台服务器用 laravel 制作 vuejs SPA 我想我们可以用另一种方式 制定这样的路线 Route get any function return view index gt where any 并让 v
  • 在 Android 中选择视频的最佳方式是什么

    我得到了一个完美的意图 ACTION PICK和我的照片 启动活动结果 新 意图 Intent ACTION PICK android provider MediaStore Images Media INTERNAL CONTENT UR
  • 单元测试类是否应该与其余代码一起置于版本控制之下?

    如果我为开发项目创建测试套件 这些类是否应该与项目代码的其余部分一起受版本控制 是的 没有理由不将它们置于源代码管理中 如果测试发生变化怎么办 如果接口发生变化 需要测试更改怎么办
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • Flash Builder 条件编译变量

    我正在使用 Flash Builder 4 5 并且我想在调试和发布版本之间使用条件编译 我了解如何使用条件编译以及如何定义编译器常量 我需要的是 IDE 在调试和发布版本之间设置的预定义常量 一种在调试和发布版本之间为编译器指定不同参数的
  • 受约束泛型类型参数的继承

    我知道不可能从泛型类型参数继承 但是在为抽象类型的派生类实现通用代理时会很方便 有谁知道为什么这是不可能的 C 示例 abstract class Foo public virtual void Bar nop class FooProxy
  • vscode 中 TAB 和 ENTER 的问题

    我已经使用 Visual Studio 代码几个月了 我喜欢它 但是 有一件事让我抓狂 我厌倦了处理 VSCode 有一个可怕的习惯 当我在输入结束时按 TAB 或 ENTER 时 它会更改我的文本 例如 假设我正在写一些东西 并且想要在几
  • 维护/更新mysql中的记录顺序

    我在 mySql 中有一个记录表 我需要按照用户指定的方式维护它们的订单 所以我添加了一个 位置 列 当我移动特定记录时更新所有记录的 SQL 语句是什么 我有类似的东西 UPDATE items SET position 2 WHERE
  • 使用 Socket.io 向多个房间发送消息?

    是否可以使用socket io向多个房间发送消息 发送至 1 个房间 io sockets in room emit id 发送到N个房间 io sockets in room1 room2 roomN emit id 是的 可以同时发送到
  • 如何使用 WebResponse 下载 .wmv 文件

    我使用以下代码通过 WebResponse 获取 wmv 文件 我正在使用一个线程来调用这个函数 static void GetPage object data Cast the object to a ThreadInfo ThreadI
  • 为什么AES java解密返回额外的字符?

    请原谅我英语不好 我使用 mcrypt 我从这里得到它用于 php 和 java 的 MCrypt https snipt net raw ee573b6957b7416f28aa560ead71c3a2 nice 在我的android应用
  • 从 API 网关自定义授权方返回的 401 缺少“Access-Control-Allow-Origin”标头

    为了防止未登录的用户通过 AWS API Gateway 调用我的 lambda 函数 我使用自定义授权者 lambda 解决方案 如果请求被授权 200 并且我从被调用的 lambda 得到响应 一切正常并且我得到Access Contr
  • PHP解析xml文件错误

    我正在尝试使用 simpleXML 来获取数据http rates fxcm com RatesXML http rates fxcm com RatesXML Using simplexml load file 我有时会遇到错误 因为这个
  • 在 PHP 中将 CSV 写入不带括号的文件

    是否有本机函数或实体类 库用于将数组写入 CSV 文件中的一行而无需封装 fputcsv将默认为 如果没有为封装参数传入任何内容 谷歌让我失望了 返回一大堆有关的页面的结果 fputcsv PEAR 的库做的事情或多或少与fputcsv 工
  • React Image:createObjectURL 链接给出错误 404(未找到)

    我在 React with Typescript 中使用以下代码创建了一个 ImageUrl 它创建了一个 URL 但不显示图片图像 单击 URL 例如 http localhost 3003 0b4de100 d8eb 49a7 b43a