form提交

  1. <input name="file" type="file" @change="updata"/>
  1. async updata(event){
  2. event.preventDefault()
  3. let file=event.target.files[0] //根据事件源找到上传的file
  4. let formData = new FormData();
  5. formData.append('file',files);//键名要和后台一致
  6. const res = await this.$http.post('/api/upload',formData);
  7. console.log(res,'res')
  8. }

将文件转成base64格式提交

  1. updata(event){
  2. event.preventDefault()
  3. this.files=event.target.files[0]
  4. this.getBase64(this.files).then(res=>{
  5. console.log(res)
  6. })
  7. },
  8. getBase64(file) {
  9. return new Promise(function(resolve, reject) {
  10. let reader = new FileReader();
  11. let imgResult = "";
  12. reader.readAsDataURL(file);
  13. reader.onload = function() {
  14. imgResult = reader.result;
  15. };
  16. reader.onerror = function(error) {
  17. reject(error);
  18. };
  19. reader.onloadend = function() {
  20. resolve(imgResult);
  21. };
  22. });
  23. },