我正在寻找压缩我收到并需要存储在我的数据库中的图像的最佳解决方案。
实际上,我将图像转换为 base64,然后将其发送到服务器。
handleImage = e => {
e.preventDefault();
let reader = new FileReader();
let file = e.target.files[0];
reader.onloadend = () => {
this.setState({
file: file,
image: reader.result
});
}
this.setState({ imgchange: true })
}
Run Code Online (Sandbox Code Playgroud)
然后将当前状态的图像发送到服务器。但是对于低质量的图像,这很好,但是当我尝试上传中等质量的图像时,我无法将其保存在服务器上,我需要一种压缩图像的方法。
你有什么想法来实现这一目标吗?你能给我举个例子吗?
我想按 Enter 键并发送消息。我试试这个:
但是有一个错误。
<input type="text" className="form-control input-sm chat_input" placeholder="Write your message here..."
onChange={this.handleTextChange} value={this.state.newMessage}
/>
<span className="input-group-btn">
<input type="submit" value="Send" className="btn btn-primary btn-sm" onSubmit={this.handleSendMessage}
/></span>
Run Code Online (Sandbox Code Playgroud)
我想管理我的功能:
handleSendMessage = e => {}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过 OnKeyPressed 但我无法在那里调用我的函数。谢谢你。
我更喜欢没有 jquery 的解决方案
我已经有了一个状态:
this.setState({
conversation:
(
<div>
{conversation.map(element => {
if (element.id === this.props.id) {
return(
<div className="row msg_container base_sent">
<div className="col-md-10 col-xs-10">
<div className="messages msg_sent">
<p>{element.message}</p>
</div>
</div>
</div>
)
}
else {
return(
<div className="row msg_container base_receive">
<div className="col-md-10 col-xs-10">
<div className="messages msg_receive">
<p>{element.message}</p>
</div>
</div>
</div>
)
}
})}
</div>
)
})
Run Code Online (Sandbox Code Playgroud)
现在,我想用新信息对其进行更新。因此,向其添加另一个div。
像这样:
this.setState({conversation: previousConversation + new div})
Run Code Online (Sandbox Code Playgroud)
我该怎么做?或者我需要从零开始设置新状态
我试图使用 pug 语法在 html 页面上显示 svg 图标,但不起作用
这是代码
span.icon
svg(width="24px", height="24px")
use(xlink:href="../../../images/svg/glass.svg")
Run Code Online (Sandbox Code Playgroud)