react 图片上传、图片粘贴

  1. react 中引入 图片粘贴功能:

① package.json中引入

"quill-image-drop-module": "^1.0.3",
"react-quill": "^1.1.0",

② 所在模块引入quill,它支持模块扩展的,粘贴图片的功能通过quill-image-drop-module模块实现。

import ReactQuill, { Quill } from 'react-quill';
import { ImageDrop } from 'quill-image-drop-module';
import 'react-quill/dist/quill.snow.css';

// 在quiil中注册quill-image-drop-module
Quill.register('modules/imageDrop', ImageDrop);

③ 富文本头部显示的功能按钮也是支持自定义配置的。这里在modules中声明imageDrop: true来开启贴图功能

let modules = {
    toolbar: [
      ['bold', 'italic', 'underline', 'strike', 'blockquote'],
      [{ list: 'ordered' }, { list: 'bullet' }, { indent: '-1' }, { indent: '+1' }],
      ['link', 'image'],
      ['clean'],
    ],
    imageDrop: true,
  };

let formats = [
  'bold', 'italic', 'underline', 'strike', 'blockquote',
  'list', 'bullet', 'indent',
  'link', 'image',
];

④ 引入Quill标签

<ReactQuill
    theme="snow"
    modules={this.modules}
    formats={this.formats}
    onChange={this.onQuillChange}
    defaultValue={this.state.value}
    placeholder="Please Input"
/>

⑤ onchange 事件参数说明

onQuillChange = (content, delta, source, editor) => {
    // content 是真实的DOM节点
    // delta 记录了修改的对象,下篇文章详述
    // source 值为user或api
    // editor 文本框对象,可以调用函数获取content, delta值
};

⑥ 界面显示
这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
如果您使用React编写前端页面,并且需要上传图片并压缩,可以使用以下步骤: 1. 安装用于图片压缩的库,如`compressorjs`或`react-image-file-resizer`。 2. 创建一个组件来上传图片,可以使用`<input type="file">`元素。 3. 当用户选择图片时,可以将其读入内存并压缩。 4. 压缩完毕后,将压缩后的图像作为文件上传。 以下是一个简单的示例代码: ```javascript import React, { useState } from 'react'; import Compressor from 'compressorjs'; const UploadImage = () => { const [file, setFile] = useState(null); const handleFileChange = (event) => { const imageFile = event.target.files[0]; new Compressor(imageFile, { quality: 0.6, success(result) { setFile(result); }, error(err) { console.log(err.message); }, }); }; const handleUpload = () => { // 将压缩后的图像作为文件上传 const formData = new FormData(); formData.append('image', file); // 发送formData到服务器 }; return ( <div> <input type="file" onChange={handleFileChange} /> <button onClick={handleUpload}>上传图片</button> </div> ); }; export default UploadImage; ``` 在这个示例中,我们使用`compressorjs`库来压缩图像。`handleFileChange`函数会在用户选择图片后调用,将图片读入内存并压缩,然后将压缩后的图像设置为组件状态的`file`属性。 `handleUpload`函数在用户点击“上传图片”按钮时调用,将压缩后的图像作为文件上传。您可以将`formData`发送到服务器并在服务器端进行处理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值