Browse Source

chore(uploader): edit web method put upload type

richard1015 3 years ago
parent
commit
df0fd5adc9
2 changed files with 9 additions and 1 deletions
  1. 3 0
      src/packages/__VUE/uploader/index.vue
  2. 6 1
      src/packages/__VUE/uploader/uploader.ts

+ 3 - 0
src/packages/__VUE/uploader/index.vue

@@ -185,6 +185,9 @@ export default create({
       uploadOption.xhrState = props.xhrState as number;
       uploadOption.headers = props.headers;
       uploadOption.withCredentials = props.withCredentials;
+      try {
+        uploadOption.sourceFile = fileItem.formData.get(props.name);
+      } catch (error) {}
       uploadOption.onStart = (option: UploadOptions) => {
         fileItem.status = 'ready';
         fileItem.message = translate('readyUpload');

+ 6 - 1
src/packages/__VUE/uploader/uploader.ts

@@ -3,6 +3,7 @@ export class UploadOptions {
   name = 'file';
   fileType? = 'image';
   formData?: FormData;
+  sourceFile: any;
   method = 'post';
   xhrState = 200;
   timeout = 30 * 1000;
@@ -47,7 +48,11 @@ export class Uploader {
         xhr.setRequestHeader(key, value as string);
       }
       options.onStart?.(options);
-      xhr.send(options.formData);
+      if (options.method.toLowerCase() == 'put') {
+        xhr.send(options.sourceFile);
+      } else {
+        xhr.send(options.formData);
+      }
     } else {
       console.warn('浏览器不支持 XMLHttpRequest');
     }