Получить значения (base64) из базы данных и отобразить их в виде небольшого изображения.И все они имеют одинаковый размер.По крайней мере, по высоте.В настоящее время моя таблица находится в беспорядке, потому что декодированное изображение показано с другим размером.Один ряд больше, другой меньше.
Я новичок в программировании.Не будь таким резким и любезно объясни свой код ясно и легко понять, пожалуйста.
Я пытался использовать канву, но это сбивает с толку.
const ImageBase64 = ({ data }) => <img src={`data:image/jpeg;base64,${data}`} />
<TableBody>
{stableSort(filteredData, getSorting(order, orderBy))
.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
.map(n => {
const isSelected = this.isSelected(n.nama);
return (
<TableRow
hover
onClick={event => this.handleClickRow(event,n.id,n.base64)}
role="checkbox"
aria-checked={isSelected}
tabIndex={-1}
key={n.id}
selected={isSelected}
>
<TableCell padding="checkbox"
onClick={event => this.handleClick(event, n.id)}>
<Checkbox checked={isSelected} color="primary"/>
</TableCell>
<TableCell component="th" scope="row" padding="none">
{n.id}
</TableCell>
<TableCell align="right">{n.name}</TableCell>
<TableCell align="right">{n.isActive}</TableCell>
<TableCell align="center"><ImageBase64 data={n.base64} /></TableCell>
</TableRow>
);
})}
{emptyRows > 0 && (
<TableRow style={{ height: 49 * emptyRows }}>
<TableCell colSpan={6} />
</TableRow>
)}
</TableBody>
Пока это то, что я получаю.Я сохранил свои данные в MySQL.И мне удалось отобразить декодированное base64 из базы данных (строки) в изображение.
Моя таблица (база данных listuser), как показано ниже
id | Name | isActive | base64 |
1 | Bro | 0 | <small image>|
2 | Sis | 1 | <small image>|
Примечание: base64 - это закодированное изображение в виде строки