Forráskód Böngészése

fix upload no perfil

Gustavo Zanatta 3 napja
szülő
commit
44c03ffc31
2 módosított fájl, 23 hozzáadás és 9 törlés
  1. 4 2
      src/api/user.js
  2. 19 7
      src/pages/profile/ProfileEditDialog.vue

+ 4 - 2
src/api/user.js

@@ -45,7 +45,9 @@ export const createUserAndClient = async (data) => {
   return response;
 }
 
-export const updateMe = async (data) => {
-  const { data: res } = await api.put('/me', data);
+export const updateMe = async (data, hasFile = false) => {
+  const { data: res } = hasFile
+    ? await api.post('/me', data, { headers: { 'Content-Type': 'multipart/form-data' } })
+    : await api.put('/me', data);
   return res.payload;
 };

+ 19 - 7
src/pages/profile/ProfileEditDialog.vue

@@ -191,13 +191,25 @@ const onSubmit = async () => {
   const valid = await formRef.value.validate();
   if (!valid) return;
 
-  await submitForm(() => updateMe({
-    name: form.name,
-    email: form.email,
-    phone: form.phone,
-    document: form.document || null,
-    ...(avatarFile.value ? { avatar: avatarFile.value } : {}),
-  }));
+  let payload;
+  if (avatarFile.value) {
+    payload = new FormData();
+    payload.append('name', form.name);
+    payload.append('email', form.email);
+    payload.append('phone', form.phone);
+    if (form.document) payload.append('document', form.document);
+    payload.append('avatar', avatarFile.value);
+    payload.append('_method', 'PUT');
+  } else {
+    payload = {
+      name: form.name,
+      email: form.email,
+      phone: form.phone,
+      document: form.document || null,
+    };
+  }
+
+  await submitForm(() => updateMe(payload, !!avatarFile.value));
 };
 
 onMounted(async () => {