使用react-quill富文本编辑器,里面处理图片是默认转成base64,提交到后台的时候文件太大,因此这里改写处理image的逻辑,改成上传到服务器。
具体代码如下:
配置1
import Quill from 'quill' import ReactQuill from 'react-quill' import 'react-quill/dist/quill.core.css' import 'react-quill/dist/quill.snow.css' import QuillEmoji from 'quill-emoji' import 'quill-emoji/dist/quill-emoji.css' Quill.register({ 'modules/emoji-toolbar': QuillEmoji.ToolbarEmoji, // 'modules/emoji-textarea': QuillEmoji.TextAreaEmoji, 'modules/emoji-shortname': QuillEmoji.ShortNameEmoji }) const toolbarContainer = [ [{ 'size': ['small', false, 'large', 'huge'] }], // custom dropdown [{ 'font': [] }], [{ 'header': 1 }, { 'header': 2 }], // custom button values ['bold', 'italic', 'underline', 'strike'], // toggled buttons [{ 'align': [] }], [{ 'indent': '-1' }, { 'indent': '+1' }], // outdent/indent [{ 'direction': 'rtl' }], // text direction [{ 'script': 'sub' }, { 'script': 'super' }], // superscript/subscript ['blockquote', 'code-block'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], [{ 'color': [] }, { 'background': [] }], ['emoji', 'image', 'video', 'link'], ['clean'] ]
配置2
<ReactQuill ref={ref => this.quillRef = ref} placeholder="填写活动详情~" theme="snow" value={this.state.detailTpl} onChange={this.handleChangeDetail} modules={{ toolbar: { container: toolbarContainer, handlers: { image: this.imageHandler } }, 'emoji-toolbar': true, // 'emoji-textarea': true, 'emoji-shortname': true, }} />
图片处理方法
imageHandler = () => { this.quillEditor = this.quillRef.getEditor() const input = document.createElement('input') input.setAttribute('type', 'file') input.setAttribute('accept', 'image/*') input.click() input.onchange = async () => { const file = input.files[0] const formData = new FormData() formData.append('quill-image', file) const res = await uploadFile(formData) const range = this.quillEditor.getSelection() const link = res.data[0].url // this part the image is inserted // by 'image' option below, you just have to put src(link) of img here. this.quillEditor.insertEmbed(range.index, 'image', link) } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java上传文件图片到服务器的方法,包括了Java上传文件图片到服务器的方法的使用技巧和注意事项,需要的朋友参考一下 这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存,具体内容如下 首先是页面html的 我这是提交一个文件和类型 预览图片js 之后就是后台得到 好了现在重点就是看Upload 这个类了 这个类基本是封装好了的,需要 加的东西可以自己取看看然后修
我想上传一张图片,我正在使用http。客户端()用于发出请求, 请求的主体和编码部分应该是什么?
我在尝试将swift中的图像上载到PHP服务器时遇到问题。在php处理文件之前,一切看起来都很好。在那一刻,我得到了错误。 swft代码的相关部分是: php是 最后,我得到的错误是: ******响应数据= 上载失败
问题内容: 我正在尝试从Android设备将文件上传到php服务器。有相同问题的话题,但他使用的是不同的方法。我的Android辅助代码运行正常,并且未显示任何错误消息,但服务器未收到任何文件。这是我的示例代码,我在网上找到了。 和我的PHP服务器端代码如下 Apache正在运行。当我运行服务器时,出现此错误消息。上传文件时出错,请重试!我已经在eclipse中检查了日志数据,我认为是套接字问题,
本文向大家介绍PHP实现上传图片到 zimg 服务器,包括了PHP实现上传图片到 zimg 服务器的使用技巧和注意事项,需要的朋友参考一下 最近我们项目需要一台图片服务器存储用户头像,我们使用 zimg 处理和存储图片,下面简单介绍一下如何使用 PHP 上传图片到 zimg,并获取相应图片的返回信息 使用 curl 库实现上传 根据 zimg 使用文档,我们想要让 zimg 返回 json 信息,
我正在用Laravel5.6构建一个表单,在其中我保存了一个名字和一个用户照片,但我需要将照片与用户名一起存储。我展示了我商店的代码 我可以使用$request->nombre获得用户名; 但我不知道怎么给照片取名字