#reactjs #image #amazon-s3 #resize #blob
#reactjs #изображение #amazon-s3 #изменить размер #большой двоичный объект
Вопрос:
Я пытаюсь использовать react-image-file-resizer
, и у меня это работает в некоторых частях моего приложения, но сейчас я пытаюсь обработать ответ от сервера aws изображения. Формат изменен, и я получаю сообщение об ошибке item is not type BLOB
: есть ли способ преобразовать URL-адрес, возвращаемый с сервера aws, в большой двоичный объект типа?
Это компонент, с которым я работаю :
const Items = ({ orgList }) => {
const [logos, setLogos] = useState()
const resizeImage = (image) =>
new Promise((resolve) => {
Resizer.imageFileResizer(
image,
200,
200,
"JPEG",
100,
0,
(uri) => {
resolve(uri);
},
"base64"
);
});
const imageHelper = async (image) => {
const sizing = await resizeImage(image)
setLogos(sizing)
}
return (
<>
{orgList.items ? (
<div>
{orgList.items.map((item) => (
<Card key={item.orgID} className="w-100 m-2">
<CardHeader className="d-flex">
<Link to={`/monitoring-orgs/${item.orgID}`}>{item.name}</Link>
</CardHeader>
<CardBody>
<Row>
<Col md="5">
<dl>
<dt>GroupID</dt>
<dd>{item.GroupID || "-"}</dd>
<dt>Logo</dt>
<dd>
{imageHelper(item.logoURL)}
{!item.logoURL ? (
"No logo uploaded"
) : (
<img src={logos} alt={"company logo"} />
)}
</dd>
</dl>
</Col>
<Col md="5">
<dl>
<dt>OrgID</dt>
<dd>{item.orgID}</dd>
<dt>Enabled</dt>
<dd>{item.enabled ? "Yes" : "No"}</dd>
</dl>
</Col>
</Row>
</CardBody>
</Card>
))}
</div>
) : (
<div className="buttonSpinner">
<Spinner />
</div>
)}
</>
);
};
export default connect(mapStateToProps, mapDispatchToProps)(Items);
Комментарии:
1.
console.log("^amp;*()", typeof image)
занимает все телоresizeImage
функции. Итак, в настоящее времяnew Promise
вызывается при рендерингеItems
, а не приresizeImage
вызове.2. О, да, я должен был это убрать. Я не получаю сообщение об ошибке
parameter 1 is not of type 'Blob'
с этой консолью. Я удалю его для проверки.3. Также в описании используемого вами пакета упоминается: » Модуль React, который может изменять масштаб локальных изображений». Ваше изображение не является локальным.
4. Ах, я понимаю. Хорошо, я выбрал неправильный пакет спасибо за понимание, которое очень полезно