【发布时间】:2018-09-11 10:28:55
【问题描述】:
您能帮我如何通过 react-image-crop 模块获取输出(裁剪图像的来源)吗? 上传组件如下所示:
class MyUpload extends Component {
constructor() {
super();
this.state = {
src: 'source-to-image',
crop: {
x: 10,
y: 10,
aspect: 9 / 16,
width: 100
}
}
}
onCropComplete = (crop, pixelCrop) => {
this.setState({
crop
})
};
render() {
return (
<ReactCrop
src={this.state.src}
onComplete={this.onCropComplete}
/>
);
} }
方法 onCropComplete 只返回裁剪图像的坐标、宽度和高度,而不是源。我想获取 blob 文件。
编辑(工作解决方案——感谢 Mosè Raguzzini 的回复):
如果有人遇到类似问题,请在组件的教程中调用 getCropptedImg 函数,并从返回的 Blob 对象创建 url,如下所示:
getCroppedImg(this.state.image, pixelCrop, 'preview.jpg')
.then((res) => {
const blobUrl = URL.createObjectURL(res);
console.log(blobUrl); // it returns cropped image in this shape of url: "blob:http://something..."
})
【问题讨论】:
标签: reactjs