我已经在尝试这个,但它仍然不适合我 如何将二进制数据转换为 reactjs 中的图像这是我的代码 return axios.post(`${API_MOBILE}/${path}`, formData, { headers: { 'Content-Type': 'multipart/form-data', }, }) .catch((error) => { if (error.response) { return Promise.reject({ message: error.response.data.error, code: error.response.status }); } else if (error.request) { console.log(error.request); throw error; } else { console.log('Error', error.message); throw error; } }); },这里是控制器try { let { detail } = yield select(state => state.user); const result = yield call(API.generateMotif, payload, detail.api_token); yield put({ type: types.GENERATE_MOTIF_SUCCESS, payload: result, }); } catch (err) { yield put(handleError(err)); yield put({ type: types.GENERATE_MOTIF_FAILURE, payload: err, }); }这是我的前端<div className="box-body"> { props.uploading ? ( <div> <img src={props.image} alt="upload placeholder"/> <Spinner /> </div> ) : props.generated !== '' ? <img src={"data:;base64,"+props.generated} alt="generated motif"/> : <AddPhotoAlternate className="icon-large"/> } </div>GenerateM.propTypes = { image: PropTypes.string.isRequired, generated: PropTypes.string, list: PropTypes.array, uploading: PropTypes.bool.isRequired, imageChange: PropTypes.func.isRequired,};你有什么可以帮助我的解决方案吗?拜托,任何建议都会对我很有帮助。
1 回答

慕桂英546537
TA贡献1848条经验 获得超10个赞
你可以这样做:
<img src={`data:image/*;base64,${props.generated}`} alt="generated motif" />
但是您必须确保来自您的 API 的响应是可以解码的。
请参阅 PHPbase64_encode()
和这个 Stackoverflow 答案。
添加回答
举报
0/150
提交
取消