Browse Source

let request.js be able to deal with FormData (#884)

* let request.js be able to deal with FormData

* Update request.js

* Update request.js

* Update request.js

* Update request.js
Guangshuo Chen 8 years atrás
parent
commit
9994368533
1 changed files with 15 additions and 6 deletions
  1. 15 6
      src/utils/request.js

+ 15 - 6
src/utils/request.js

@@ -48,12 +48,21 @@ export default function request(url, options) {
   };
   const newOptions = { ...defaultOptions, ...options };
   if (newOptions.method === 'POST' || newOptions.method === 'PUT') {
-    newOptions.headers = {
-      Accept: 'application/json',
-      'Content-Type': 'application/json; charset=utf-8',
-      ...newOptions.headers,
-    };
-    newOptions.body = JSON.stringify(newOptions.body);
+    if (!(newOptions.body instanceof FormData)) {
+      newOptions.headers = {
+        Accept: 'application/json',
+        'Content-Type': 'application/json; charset=utf-8',
+        ...newOptions.headers,
+      };
+      newOptions.body = JSON.stringify(newOptions.body);
+    } else {
+      // newOptions.body is FormData
+      newOptions.headers = {
+        Accept: 'application/json',
+        'Content-Type': 'multipart/form-data',
+        ...newOptions.headers,
+      };
+    }
   }
 
   return fetch(url, newOptions)