Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 无法在React页上的img标记中呈现base 64_Reactjs - Fatal编程技术网

Reactjs 无法在React页上的img标记中呈现base 64

Reactjs 无法在React页上的img标记中呈现base 64,reactjs,Reactjs,这是我的Flask API,它正在将数据发送到React前端: @app.route(“/api/newface”,方法=['POST'])) @交叉起源() def get_user_face(): image\u str=request.files.get('faceImage').read() image\u np=np.fromstring(image\u str,np.uint8) img=cv2.imdecode(图像\u np,cv2.IMREAD\u灰度) 结果=运行(img)

这是我的Flask API,它正在将数据发送到React前端:

@app.route(“/api/newface”,方法=['POST']))
@交叉起源()
def get_user_face():
image\u str=request.files.get('faceImage').read()
image\u np=np.fromstring(image\u str,np.uint8)
img=cv2.imdecode(图像\u np,cv2.IMREAD\u灰度)
结果=运行(img)
返回结果
使用javascript方法将blob解析为base64

var reader=newfilereader();
reader.onload=(e)=>{
var b64=e.target.result;
this.setState({faceImage:b64,isLoaded:true})
}
reader.readAsDataURL(response.data)
@app.route(“/api/newface”,方法=['POST']))
@交叉起源()
def get_user_face():
img_file=request.files['faceImage']
f=img_file.stream.read()
bin_data=io.BytesIO(f)
file_bytes=np.asarray(bytearray(bin_data.read()),dtype=np.uint8)
img=cv2.imdecode(文件字节,cv2.IMREAD\u颜色)
灰色\u img=cv2.CVT颜色(img,cv2.COLOR\u bgr2灰色)
res\u img=运行(灰色)
retval,buffer=cv2.imencode('.png',res_img)
jpg_as_text=base64.b64编码(缓冲区)

返回响应(Response=jpg\u as\u text,content\u type='image/jpeg')
我认为您的base 64是错误的。这部分unescape(encodeURIComponent)似乎不必要我试过了,它说:DOMException:在“窗口”上执行“btoa”失败:要编码的字符串包含拉丁1范围以外的字符。在axios_uWebpack_导入的_u模块_3_uuuuuuudefault.a.post.then.response()上,谢谢。我试着在Flask中对图像进行编码,效果很好。