整体平台上传功能大改造
This commit is contained in:
+18
-1
@@ -106,10 +106,27 @@ export function getFileById(id) {
|
||||
*/
|
||||
export function uploadFile(formData, options = {}) {
|
||||
// 0 表示「未分类」,不能用 truthy 判断
|
||||
if (options.cate !== undefined && options.cate !== null && options.cate !== "") {
|
||||
// 调用方若已手动 append 过 cate,这里不再重复追加(避免 multipart 出现两个 cate)
|
||||
if (
|
||||
options.cate !== undefined &&
|
||||
options.cate !== null &&
|
||||
options.cate !== "" &&
|
||||
!formData.has("cate")
|
||||
) {
|
||||
formData.append("cate", String(options.cate));
|
||||
}
|
||||
|
||||
// scope: 'user' 表示上传到「我的个人文件」目录(backend/{tid}/{uid}/),
|
||||
// 不传或 'tenant' 表示租户共享文件(backend/{tid}/)
|
||||
if (options.scope && !formData.has("scope")) {
|
||||
formData.append("scope", String(options.scope));
|
||||
}
|
||||
|
||||
// tuid:显式指定归属用户(代他人上传场景),一般不需要传
|
||||
if (options.tuid && !formData.has("tuid")) {
|
||||
formData.append("tuid", String(options.tuid));
|
||||
}
|
||||
|
||||
const config = {
|
||||
url: "/backend/uploadfile",
|
||||
method: "post",
|
||||
|
||||
@@ -151,7 +151,7 @@ const currentBanner = ref<Partial<Banner>>({
|
||||
// 上传配置
|
||||
// @ts-ignore
|
||||
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL;
|
||||
const uploadUrl = ref(API_BASE_URL + "/admin/uploadfiles");
|
||||
const uploadUrl = ref(API_BASE_URL + "/backend/uploadfile");
|
||||
const uploadHeaders = ref({
|
||||
Authorization: "Bearer " + (localStorage.getItem("token") || ""),
|
||||
});
|
||||
|
||||
@@ -117,7 +117,7 @@ const submitLoading = ref(false)
|
||||
const formRef = ref(null)
|
||||
|
||||
// 上传配置
|
||||
const uploadUrl = ref(API_BASE_URL + "/admin/uploadfiles");
|
||||
const uploadUrl = ref(API_BASE_URL + "/backend/uploadfile");
|
||||
const uploadHeaders = ref({
|
||||
Authorization: "Bearer " + (localStorage.getItem("token") || ""),
|
||||
});
|
||||
|
||||
@@ -222,7 +222,7 @@ const currentMenu = ref<Partial<Menu>>({
|
||||
// 上传配置
|
||||
// @ts-ignore
|
||||
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL;
|
||||
const uploadUrl = ref(API_BASE_URL + '/admin/uploadfiles');
|
||||
const uploadUrl = ref(API_BASE_URL + '/backend/uploadfile');
|
||||
const uploadHeaders = ref({
|
||||
'Authorization': 'Bearer ' + (localStorage.getItem('token') || '')
|
||||
});
|
||||
|
||||
@@ -126,7 +126,7 @@ const submitLoading = ref(false);
|
||||
const formRef = ref(null);
|
||||
|
||||
// 上传配置
|
||||
const uploadUrl = ref(API_BASE_URL + "/admin/uploadfiles");
|
||||
const uploadUrl = ref(API_BASE_URL + "/backend/uploadfile");
|
||||
const uploadHeaders = ref({
|
||||
Authorization: "Bearer " + (localStorage.getItem("token") || ""),
|
||||
});
|
||||
|
||||
@@ -127,7 +127,7 @@ const submitLoading = ref(false);
|
||||
const formRef = ref(null);
|
||||
|
||||
// 上传配置
|
||||
const uploadUrl = ref(API_BASE_URL + "/admin/uploadfiles");
|
||||
const uploadUrl = ref(API_BASE_URL + "/backend/uploadfile");
|
||||
const uploadHeaders = ref({
|
||||
Authorization: "Bearer " + (localStorage.getItem("token") || ""),
|
||||
});
|
||||
|
||||
@@ -748,7 +748,8 @@ const uploadFileToSystem = async rawFile => {
|
||||
const formData = new FormData()
|
||||
formData.append('file', rawFile)
|
||||
formData.append('cate', 'reimbursement-invoice')
|
||||
const uploadResponse = await uploadFile(formData)
|
||||
// 报销票据归属到当前用户个人目录:backend/{tid}/{uid}/年月日/
|
||||
const uploadResponse = await uploadFile(formData, { scope: 'user' })
|
||||
if (uploadResponse?.code !== 200 && uploadResponse?.code !== 201) {
|
||||
throw new Error(uploadResponse?.msg || `「${rawFile.name}」上传失败`)
|
||||
}
|
||||
|
||||
@@ -300,7 +300,8 @@ function ensureImageName(file) {
|
||||
async function uploadImage(file) {
|
||||
const formData = new FormData();
|
||||
formData.append("file", file);
|
||||
const res = await uploadFile(formData);
|
||||
// 日程图片归属到当前用户个人目录:backend/{tid}/{uid}/年月日/
|
||||
const res = await uploadFile(formData, { scope: "user" });
|
||||
if (res?.code !== 200 && res?.code !== 201) {
|
||||
throw new Error(res?.msg || `「${file.name}」上传失败`);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
<el-form-item label="资质图片" prop="file_url">
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
action="/api/platform/common/upload"
|
||||
:action="uploadAction"
|
||||
:headers="uploadHeaders"
|
||||
:show-file-list="false"
|
||||
:on-success="handleUploadSuccess"
|
||||
:before-upload="beforeAvatarUpload"
|
||||
@@ -70,7 +71,13 @@
|
||||
const submitting = ref(false);
|
||||
const tenantName = ref('');
|
||||
const formRef = ref();
|
||||
|
||||
|
||||
// 上传地址:走租户后台通用上传接口(原 /api/platform/common/upload 后端不存在,会 404)
|
||||
const uploadAction = import.meta.env.VITE_API_BASE_URL + '/backend/uploadfile';
|
||||
const uploadHeaders = {
|
||||
Authorization: 'Bearer ' + (localStorage.getItem('token') || '')
|
||||
};
|
||||
|
||||
const formData = reactive({
|
||||
tid: null,
|
||||
type: '',
|
||||
|
||||
Reference in New Issue
Block a user