Как обработать изображение в качестве корпуса объекта R2 в функции погрузчика React-Router? [закрыто]Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как обработать изображение в качестве корпуса объекта R2 в функции погрузчика React-Router? [закрыто]

Сообщение Anonymous »

Я построил приложение «Режим платформы» реагируемой маркировки, чтобы проверить некоторые привязки CloudFlare. Привязки KV и D1 работают отлично, и я смог вытащить текстовый файл из R2 в Loader () и обработать его нормально. Однако я не могу придумать секретный соус для работы с файлом изображения. У меня есть это нормально в SPA React, CloudFlare fetch () просто обрабатывает файл в режиме клиента. Но на стороне сервера нет url.createobjecturl () .
Мой текущий код вставлен ниже, с некоторыми ошибками типографии встроенными. Что мне нужно сделать, чтобы сделать файл изображения доступным в коде компонента?

Код: Выделить всё

import type { Route } from "./+types/r2_image";

export function meta({ }: Route.MetaArgs) {
return [
{ title: "Data Tests: R2 image file" },
{ name: "description", content: "Testing cloudflare bindings." },
];
}

export async function loader({ context }: Route.LoaderArgs) {

// Type 'R2ObjectBody | null' is not assignable to type 'R2ObjectBody'.
// Type 'null' is not assignable to type 'R2ObjectBody'.ts(2322)
//    vvvvvvv
const r2Image: R2ObjectBody = await context.cloudflare.env.CROMR2.get('conan.png');

var image = await r2Image.blob();
return { data: image };

}

export default function R2Image({ loaderData }: Route.ComponentProps) {

// Types of property 'arrayBuffer' are incompatible.
//   Type 'undefined' is not assignable to type '() => Promise'.ts(2345)
//                                vvvvvvvvvv
const image = URL.createObjectURL(loaderData.data);
// or
// const image = URL.createObjectURL(loaderData.arrayBuffer);

return (

R2 Image File

[img]{image} /[/img]


)
}
< /code>
Этот код дает в консоли ошибку. Я считаю, что это связано с несоответствием типа в аргументе CreateObjecturl () 
?

Код: Выделить всё

Failed to execute 'createObjectURL' on 'URL': Overload resolution failed.

Примечание: Cloudflare Worker fetch () , кажется, не доступен для ClientLoader () . Кроме того, я бы предпочел получить это прямо со стороны сервера.

Подробнее здесь: https://stackoverflow.com/questions/796 ... r-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • React Router делает неправильный компонент для внуков. @React-router/dev
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Нарушение ограничения погрузчика в интерфейсе инициализации:
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Экраны на мгновение перекрываются при использовании router.push() из Expo-Router
    Anonymous » » в форуме Javascript
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • Почему я не могу использовать в качестве компонента внутри в React Router?
    Anonymous » » в форуме Javascript
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • React Hooks с React Router – как мне перенаправить на другой маршрут?
    Anonymous » » в форуме Php
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»