fix(DetailsComments): 修复图片上传功能,改为直接上传文件而非base64,并添加上传配置获取逻辑
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
<div class="bottom flexacenter">
|
||||
<div class="operate flexacenter">
|
||||
<div class="item" :class="{ pitch: editEmojiState }" style="z-index: 2;">
|
||||
<div class="item" :class="{ pitch: editEmojiState }" style="z-index: 2">
|
||||
<el-popover placement="left-start" popper-class="emoji-popover" :width="584" trigger="click" v-model:visible="editEmojiState" :teleported="false">
|
||||
<template #reference>
|
||||
<img class="icon" src="@/assets/img/smiling-face.png" alt="" />
|
||||
@@ -824,7 +824,7 @@ const handleInputPaste = (event, index, ii) => {
|
||||
reader.onload = (e) => {
|
||||
const base64 = e.target.result;
|
||||
|
||||
uploadImg(base64).then((res) => {
|
||||
uploadImg(file).then((res) => {
|
||||
const obj = {
|
||||
base64,
|
||||
...res,
|
||||
@@ -837,10 +837,7 @@ const handleInputPaste = (event, index, ii) => {
|
||||
else picture.value = obj;
|
||||
}
|
||||
|
||||
ElMessage({
|
||||
message: "上传成功",
|
||||
type: "success",
|
||||
});
|
||||
ElMessage.success("上传成功");
|
||||
});
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
@@ -865,7 +862,7 @@ const handleFileUpload = (event, index, i) => {
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
const base64 = e.target.result;
|
||||
uploadImg(base64).then((res) => {
|
||||
uploadImg(file).then((res) => {
|
||||
const obj = {
|
||||
base64,
|
||||
...res,
|
||||
@@ -876,10 +873,7 @@ const handleFileUpload = (event, index, i) => {
|
||||
else if (index != undefined) commentList.value[index]["picture"] = obj;
|
||||
else picture.value = obj;
|
||||
}
|
||||
ElMessage({
|
||||
message: "上传成功",
|
||||
type: "success",
|
||||
});
|
||||
ElMessage.success("上传成功");
|
||||
});
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
@@ -893,21 +887,37 @@ const closeFileUpload = (index, i) => {
|
||||
};
|
||||
|
||||
// 上传图片 获取图片url
|
||||
const uploadImg = (base64) => {
|
||||
const uploadImg = (file) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// detailLoading.value = true
|
||||
commonUploadHttp({
|
||||
data: base64,
|
||||
}).then((res) => {
|
||||
if (res.code != 200) {
|
||||
ElMessage({
|
||||
message: res.message || "上传失败",
|
||||
type: "error",
|
||||
});
|
||||
return;
|
||||
}
|
||||
const upload = () => {
|
||||
let config = uploadConfig;
|
||||
const formData = new FormData();
|
||||
formData.append(config.requestName, file); // 文件数据
|
||||
formData.append("type", "image"); // 文件名
|
||||
formData.append("data", config.params.data); // 文件名
|
||||
commonUploadHttp(config.url, formData).then((res) => {
|
||||
if (res.code != 200) {
|
||||
ElMessage.error(res.message || "上传失败");
|
||||
return;
|
||||
}
|
||||
let data = res.data;
|
||||
resolve(data);
|
||||
});
|
||||
};
|
||||
|
||||
if (uploadConfig) upload();
|
||||
else getUploadConfig().then(() => upload());
|
||||
});
|
||||
};
|
||||
|
||||
let uploadConfig = null;
|
||||
|
||||
const getUploadConfig = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
commonUploadConfigHttp().then((res) => {
|
||||
let data = res.data;
|
||||
resolve(data);
|
||||
uploadConfig = data;
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user