我的堆栈是Oracle DB、Node.js和Reaction Web.我在Oracle DB中有一个存储为Blob的图像.我想在页面中查看此图像,但失败了.我将包含图像的对象置于状态,但无法查看它.这是包含图像的对象:
{
USER_ID:5,
USER_IMAGE:{type: 'Buffer', data: Array(153120)
}
这是组件:
const { state: editUserId } = useLocation();
const userId = useUserId();
const userInitState = {
userId: null,
userImage: null,
};
const [user, setUser] = useState({ ...userInitState });
const [profileImage, setProfileImage] = useState();
const {
// data: posts = [],
data: userProfile = [],
isUsersLoading,
isUsersSuccess,
isUsersFetching,
isUsersError,
Userserror,
} = useGetUserAccountQuery(editUserId);
useEffect(() => {
if (userProfile?.data) {
const fetchedUser = userProfile?.data;
setUser({
userId: fetchedUser.USER_ID,
userImage: fetchedUser.USER_IMAGE,
});
const file = new Blob([fetchedUser?.USER_IMAGE], {
type: "image/jpeg",
});
const fileUrl = URL.createObjectURL(file);
setProfileImage(fileUrl);
}
}, [editUserId, userProfile]);
console.log("UserProfile2 profileImage: ", profileImage); //blob:http://localhost:3000/9e880575-e302-4bc7-bea2-b2ab8f3923cd
return (
<div>
<img
src={profileImage}
// src={URL.createObjectURL(profileImage)}
alt="img"
width={200}
height={200}
/>
</div>
);
};