91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么實現文件上傳后回顯

發布時間:2023-05-19 16:10:56 來源:億速云 閱讀:368 作者:iii 欄目:web開發

這篇文章主要講解了“vue怎么實現文件上傳后回顯”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“vue怎么實現文件上傳后回顯”吧!

一、上傳文件

Vue中處理文件上傳需要用到一個核心組件:input[type='file']。該組件可以讓用戶選擇要上傳的文件,并將其轉化為二進制數據,方便后續上傳操作。

在Vue中,可以通過以下方式實現文件上傳:

  1. 創建一個input[type='file']標簽,并添加change事件監聽函數:

<template>
  <div>
    <input type="file" ref="uploadFile" @change="handleUpload"/>
  </div>
</template>
  1. 在handleUpload函數中獲取用戶選擇的文件,并將其轉化為formData格式:

methods: {
  handleUpload() {
    const file = this.$refs.uploadFile.files[0] // 獲取用戶選擇的文件
    const formData = new FormData() // 創建formData實例
    formData.append('file', file) // 將文件添加到formData中

    // 發送formData到后端進行上傳操作
    // ...
  }
}
  1. 在上傳操作完成后,可以將上傳結果存儲到Vue實例中,方便進行回顯操作。

二、回顯文件

在完成文件上傳操作后,如何將上傳的文件進行回顯呢?Vue中有多種實現方式,下面介紹兩種常用的方式。

  1. 通過組件props傳遞數據

通過props將上傳結果傳遞給子組件,即可在子組件中進行回顯操作。

在父組件中:

<template>
  <div>
    <input type="file" ref="uploadFile" @change="handleUpload"/>
    <ChildComponent :fileData="fileData"/>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue'

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      fileData: {}
    }
  },
  methods: {
    handleUpload() {
      const file = this.$refs.uploadFile.files[0] // 獲取用戶選擇的文件
      const formData = new FormData() // 創建formData實例
      formData.append('file', file) // 將文件添加到formData中

      // 發送formData到后端進行上傳操作
      // ...

      // 更新fileData
      this.fileData = {
        url: 'http://www.example.com/xxx.png', // 上傳成功后的文件url
        filename: 'xxx.png', // 文件名
        size: file.size // 文件大小
      }
    }
  }
}
</script>

在子組件中:

<template>
  <div>
    <img :src="fileData.url">
    <div>{{ fileData.filename }}</div>
    <div>{{ fileData.size }}</div>
  </div>
</template>

<script>
export default {
  props: {
    fileData: {
      type: Object,
      default: () => ({})
    }
  }
}
</script>
  1. 通過Vue實例$emit方法傳遞數據

通過Vue實例的$emit方法觸發一個事件,將上傳結果傳遞給父組件,然后在父組件中進行回顯操作。

在子組件中:

<template>
  <div>
    <input type="file" ref="uploadFile" @change="handleUpload"/>
  </div>
</template>

<script>
export default {
  methods: {
    handleUpload() {
      const file = this.$refs.uploadFile.files[0] // 獲取用戶選擇的文件
      const formData = new FormData() // 創建formData實例
      formData.append('file', file) // 將文件添加到formData中

      // 發送formData到后端進行上傳操作
      // ...

      // 觸發事件,將上傳結果傳遞給父組件
      this.$emit('uploadFile', {
        url: 'http://www.example.com/xxx.png', // 上傳成功后的文件url
        filename: 'xxx.png', // 文件名
        size: file.size // 文件大小
      })
    }
  }
}
</script>

在父組件中:

<template>
  <div>
    <ChildComponent @uploadFile="handleFileData"/>
    <img :src="fileData.url">
    <div>{{ fileData.filename }}</div>
    <div>{{ fileData.size }}</div>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue'

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      fileData: {}
    }
  },
  methods: {
    handleFileData(data) {
      this.fileData = data
    }
  }
}
</script>

感謝各位的閱讀,以上就是“vue怎么實現文件上傳后回顯”的內容了,經過本文的學習后,相信大家對vue怎么實現文件上傳后回顯這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

开封县| 格尔木市| 普定县| 竹山县| 兴仁县| 临沧市| 定兴县| 丹巴县| 翼城县| 天水市| 潼关县| 日土县| 山丹县| 登封市| 临潭县| 永泰县| 玉门市| 莱西市| 昆明市| 宁国市| 罗山县| 江口县| 布尔津县| 大邑县| 贡山| 教育| 海盐县| 莆田市| 东阳市| 澄城县| 乐至县| 黄龙县| 临沧市| 天门市| 嘉兴市| 长治市| 伊通| 高州市| 长泰县| 巩留县| 东安县|