element/examples/docs/en-US/upload.md

4.1 KiB

Upload

Upload your files by click or drag event

Click to upload files

Add slot attribute to customize the type of upload button and text hints.

:::demo

<el-upload
  action="http://jsonplaceholder.typicode.com/"
  :on-preview="handlePreview"
  :on-remove="handleRemove">
  <el-button size="small" type="primary">click to upload</el-button>
  <div class="el-upload__tip" slot="tip">only jpg/png allowed,and the size must be less than 500kb</div>
</el-upload>
<script>
  export default {
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

:::

Drag to upload

You can drag your file to certain field to upload it.

Specifying the type attribute as drag will change the upload control to a drag-and-drop style. Additionally, you can use the multiple attribute to control whether multiple-selections are supported or not. And on-preview and on-remove are hook functions that will be called after clicked on the uploaded file link and after clicked to remove the uploaded file, respectively.

:::demo

<el-upload
  action="http://jsonplaceholder.typicode.com/"
  type="drag"
  :multiple="true"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :on-success="handleSuccess"
  :on-error="handleError"
>
  <i class="el-icon-upload"></i>
  <div class="el-dragger__text">drag file to here or <em>click to upload</em></div>
  <div class="el-upload__tip" slot="tip">only jpg/png allowed,and the size must be less than 500kb</div>
</el-upload>
<script>
  export default {
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

Upload single image

This mode is specifically for uploading image, and the thumbnail will display in origin place.

thumbnail-mode attribute allows you to force the upload content to image only, and can display the thumbnail of the uploaded image.

:::demo

<el-upload
  action="http://jsonplaceholder.typicode.com/"
  type="drag"
  :thumbnail-mode="true"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
>
  <i class="el-icon-upload"></i>
  <div class="el-dragger__text">drag file to here or <em>click to upload</em></div>
  <div class="el-upload__tip" slot="tip">only jpg/png allowed,and the size must be less than 500kb</div>
</el-upload>
<script>
  export default {
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

:::

Attributes

Attribute Description Type options Default
action required, the location you upload to string --- ---
headers optional, set request headers object --- ---
multiple optional, whether multiple-selections are supported or not boolean --- ---
file optional, The field name of the uploaded file string --- ---
with-credentials send cookies or not boolean --- ---
show-uploadList show the uploaded file list or not boolean --- ---
type the type of upload control string select, drag select
accept optional, limits the type of upload file, but if the upload type is drag, you can upload all the file types string --- ---
on-preview optional, hook function when click the uploaded files function(file) --- ---
on-remove optional, hook function when remove the files function(file, fileList) --- ---
on-success optional, hook function when upload files successfully function(file, fileList) --- ---
on-error optional, hook function when some errors occured function(err, file, fileList) --- ---
before-upload optional, hook function before upload the file, the parameter is the file that uploaded, if the hook function return false or Promise value, it will end upload progress function(file) --- ---
thumbnail-mode whether image mode is set or not, the image mode will display the picture thumbnails boolean --- false