Commit 09f4cfd3 by end

增加轮播图压缩功能

parent d7cda97d
File added
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
"braft-utils": "^3.0.12", "braft-utils": "^3.0.12",
"browserslist": "^4.14.7", "browserslist": "^4.14.7",
"classnames": "^2.2.5", "classnames": "^2.2.5",
"compressorjs": "^1.2.1",
"core-js": "^3.6.4", "core-js": "^3.6.4",
"cssnano": "^4.1.10", "cssnano": "^4.1.10",
"draftjs-utils": "^0.9.4", "draftjs-utils": "^0.9.4",
......
...@@ -17,6 +17,7 @@ import { ...@@ -17,6 +17,7 @@ import {
message, message,
} from "antd"; } from "antd";
import Cropper from "react-cropper"; import Cropper from "react-cropper";
import Compressor from 'compressorjs';
import "./cropper.css"; //必须引入该css文件! import "./cropper.css"; //必须引入该css文件!
import { connect } from "react-redux"; import { connect } from "react-redux";
...@@ -126,87 +127,43 @@ class UploadImageCover extends Component { ...@@ -126,87 +127,43 @@ class UploadImageCover extends Component {
let randomNumber = Math.floor(Math.random() * 999999) let randomNumber = Math.floor(Math.random() * 999999)
.toString() .toString()
.padStart(6, "0"); .padStart(6, "0");
var file = dataURLtoFile(
this.state.imgbase.replace(" ", "").replace("\n", ""),
randomNumber
);
formData.append("file", file);
request({
url: `POST ${services.uploadsApi}`,
data: formData,
}).then(res => {
this.setState(
{
editImageModalVisible: false,
},
() => {
this.props.getImgUrl(res.data);
}
);
});
// 读取阿里云秘钥 // 将base64转换为Blob并压缩
// const { param } = this.props; fetch(this.state.imgbase)
// if (param !== null) { .then(res => res.blob())
// this.setState( .then(blob => {
// { new Compressor(blob, {
// uploadParams: { quality: 0.7, // 压缩质量(0-1),值越小压缩率越高
// Filename: maxWidth: 1200, // 最大宽度限制
// param.dir + maxHeight: 1200, // 最大高度限制
// "/" + success: (compressedBlob) => {
// this.state.uid + // 创建压缩后的文件对象
// "." + const file = new File([compressedBlob], `${randomNumber}.jpg`, { type: 'image/jpeg' });
// this.state.selectImgName.split(".")[1], formData.append("file", file);
// key:
// param.dir +
// "/" +
// this.state.uid +
// "." +
// this.state.selectImgName.split(".")[1],
// policy: param.policy,
// OSSAccessKeyId: param.accessid,
// success_action_status: "200",
// signature: param.signature,
// },
// uploadAction: param.host,
// hostAndDir: param.host + "/" + param.dir,
// },
// () => {
// let formData = new FormData();
// for (let i in this.state.uploadParams) {
// formData.append(i, this.state.uploadParams[i]);
// }
// var file = dataURLtoFile(this.state.imgbase, "2019009999999999"); // 继续原有上传逻辑
// formData.append("file", file); request({
// const instance = axios.create({ url: `POST ${services.uploadsApi}`,
// withCredentials: false, data: formData,
// }); }).then(res => {
// instance this.setState(
// .post(this.state.uploadAction, formData) {
// .then(res => { editImageModalVisible: false,
// console.log("ok", res); },
// if (res.status === 200) { () => {
// this.setState( this.props.getImgUrl(res.data);
// { }
// imgDoneSrc: );
// this.state.uploadAction + }).catch(err => {
// "/" + message.error('上传失败,请重试');
// this.state.uploadParams.Filename, });
// editImageModalVisible: false, },
// }, error: (err) => {
// () => { console.error('压缩失败:', err);
// this.props.getImgUrl(this.state.imgDoneSrc); message.error('图片压缩失败,请重试');
// } }
// ); });
// } });
// })
// .catch(function(error) {
// console.log("err", error.message);
// });
// }
// );
// }
}; };
crop = e => { crop = e => {
// console.log(e); // console.log(e);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment