欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)頭像上傳功能

 更新時(shí)間:2022年07月05日 13:39:53   作者:Magic林  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)頭像上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)頭像上傳的具體代碼,供大家參考,具體內(nèi)容如下

1.創(chuàng)建項(xiàng)目,使用vue-admin-template框架

2.使用vue命令在終端(開發(fā)工具VScode)輸入npm install,即可按package.json文件下載

3.導(dǎo)入相關(guān)工具包,是上傳頭像的樣式更好看

4.在views編寫vue文件

<template>
? <div class="app-container">
? ? ? <el-form-item label="講師頭像">
? ? ? ? ? <el-upload
? ? ? ? ? ? ? ? ? ? ?:show-file-list="true"
? ? ? ? ? ? ? ? ? ? ?:on-success="handleAvatarSuccess"
? ? ? ? ? ? ? ? ? ? ?:on-error="handleAvatarError"
? ? ? ? ? ? ? ? ? ? ?:before-upload="beforeAvatarUpload"
? ? ? ? ? ? ? ? ? ? ?class="avatar-uploader"
? ? ? ? ? ? ? ? ? ? ?:action="BASE_API+'/eduOss/fileOss'">
? ? ? ? ? ? ? <img v-if="teacher.avatar" :src="teacher.avatar">
? ? ? ? ? ? ? <i v-else class="el-icon-plus avatar-uploader-icon"/>
? ? ? ? ? </el-upload>
? ? ? </el-form-item>
? ? ? <span style="margin-left: 8.7%;font-size: 20px; font-weight: 400;">*點(diǎn)擊圖片框修改頭像*</span>
? ? ? <br /><br /><br />
? ? ? <el-form-item>
? ? ? ? <el-button :disabled="saveBtnDisabled" plain="true" type="primary" @click="saveOrUpdate">保存</el-button>
? ? ? </el-form-item>
? ? </el-form>
? </div>
</template>

<script>

? //引入上傳頭像的功能組件
? import ImageCropper from '@/components/ImageCropper'
? import PanThumb from '@/components/PanThumb'

? export default {
? ? components: {ImageCropper,PanThumb}, //組件的聲明
? ? data() {
? ? ? return {
? ? ? ??
? ? ? ? }, //v-model雙向綁定
? ? ? ? imagecropperShow: false, //上傳彈框組件是否顯示
? ? ? ? imagecropperKey: 0, //上傳組件唯一標(biāo)識(shí)
? ? ? ? BASE_API: process.env.BASE_API, //獲取dev.env.js里面地址
? ? ? ? saveBtnDisabled: false //保存按鈕是否禁用
? ? ? }
? ? },
? ? created() { //頁(yè)面渲染前執(zhí)行
? ? ?
? ? },
? ? watch: { ?//vue的監(jiān)聽
? ? ? ? $route(to, from) { ?//路由變化方式,路由一發(fā)生變化 就執(zhí)行方法
? ? ? ? ? this.init()
? ? ? ? }
? ? ? },
? ? methods: {
? ? ? // 文件上傳成功
? ? ? handleAvatarSuccess(response) {
? ? ? ? if (response.success) {
? ? ? ? ? this.teacher.avatar = response.data.url
? ? ? ? ? // 強(qiáng)制重新渲染
? ? ? ? ? this.$forceUpdate()
? ? ? ? } else {
? ? ? ? ? this.$message.error('上傳失敗! (非20000)')
? ? ? ? }
? ? ? },

? ? ? // 文件上傳失?。╤ttp)
? ? ? handleAvatarError() {
? ? ? ? this.$message.error('上傳失敗! (http失敗)')
? ? ? },

? ? ? // 上傳校驗(yàn)
? ? ? beforeAvatarUpload(file) {
? ? ? ? const isJPG = file.type === 'image/jpeg'
? ? ? ? const isLt3M = file.size / 1024 / 1024 < 3

? ? ? ? if (!isJPG) {
? ? ? ? ? this.$message.error('上傳頭像圖片只能是 JPG 格式!')
? ? ? ? }
? ? ? ? if (!isLt3M) {
? ? ? ? ? this.$message.error('上傳頭像圖片大小不能超過(guò) 2MB!')
? ? ? ? }
? ? ? ? return isJPG && isLt3M
? ? ? },
? ? }
? }
</script>

<style>
? .avatar-uploader .el-upload {
? ? border: 1px dashed #d9d9d9;
? ? border-radius: 6px;
? ? cursor: pointer;
? ? position: relative;
? ? overflow: hidden;
? }
? .avatar-uploader .el-upload:hover {
? ? border-color: #409EFF;
? }
? .avatar-uploader .avatar-uploader-icon {
? ? font-size: 28px;
? ? color: #8c939d;
? ? width: 178px;
? ? height: 178px;
? ? line-height: 178px;
? ? text-align: center;
? }
? .avatar-uploader img {
? ? width: 178px;
? ? height: 178px;
? ? display: block;
? }
</style>

該代碼是上傳文件頭像的前端代碼的片段,樣式和上傳到頁(yè)面功能,上傳到阿里云服務(wù)器還需要和后端功能連接,比如添加時(shí),后端將上傳文件的url拼成字符串保存到數(shù)據(jù)庫(kù),在前端則要寫入相關(guān)保存功能,連接后端,并在data中寫保存的相關(guān)數(shù)據(jù),methods中寫保存的方法等,該代碼可以在實(shí)現(xiàn)需要上傳頭像文件是加如個(gè)人代碼進(jìn)行修改即可.
使用環(huán)境是node.js

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue封裝el-upload批量上傳只請(qǐng)求一次接口

    vue封裝el-upload批量上傳只請(qǐng)求一次接口

    本文主要介紹了vue封裝el-upload批量上傳只請(qǐng)求一次接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • vscode下vue項(xiàng)目中eslint的使用方法

    vscode下vue項(xiàng)目中eslint的使用方法

    這篇文章主要給大家介紹了關(guān)于vscode下vue項(xiàng)目中eslint的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • element UI 中的 el-tree 實(shí)現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)功能

    element UI 中的 el-tree 實(shí)現(xiàn) checkbox&n

    在日常項(xiàng)目開發(fā)中,會(huì)經(jīng)常遇到,樹形結(jié)構(gòu)的查詢方式,為了快速方便開發(fā),常常會(huì)使用到快捷的ui組件去快速搭樹形結(jié)構(gòu),這里我用的是 element ui 中的 el-tree,對(duì)element UI 中的 el-tree 實(shí)現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)的方法感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄(推薦)

    vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄(推薦)

    這篇文章主要介紹了vue中js判斷長(zhǎng)時(shí)間不操作界面自動(dòng)退出登錄,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • vue?require.context()的用法實(shí)例詳解

    vue?require.context()的用法實(shí)例詳解

    require.context是webpack提供的一個(gè)api,通常用于批量注冊(cè)組件,下面這篇文章主要給大家介紹了關(guān)于vue?require.context()用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 利用VUE框架,實(shí)現(xiàn)列表分頁(yè)功能示例代碼

    利用VUE框架,實(shí)現(xiàn)列表分頁(yè)功能示例代碼

    本篇文章主要介紹了利用VUE框架,實(shí)現(xiàn)列表分頁(yè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • 詳解Vue.js 可拖放文本框組件的使用

    詳解Vue.js 可拖放文本框組件的使用

    這篇文章主要介紹了詳解Vue.js 可拖放文本框組件的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • 詳解基于Vue/React項(xiàng)目的移動(dòng)端適配方案

    詳解基于Vue/React項(xiàng)目的移動(dòng)端適配方案

    這篇文章主要介紹了詳解基于Vue/React項(xiàng)目的移動(dòng)端適配方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 解決Vue keep-alive 調(diào)用 $destory() 頁(yè)面不再被緩存的情況

    解決Vue keep-alive 調(diào)用 $destory() 頁(yè)面不再被緩存的情況

    這篇文章主要介紹了解決Vue keep-alive 調(diào)用 $destory() 頁(yè)面不再被緩存的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 分享9個(gè)Vue的巧妙冷技巧

    分享9個(gè)Vue的巧妙冷技巧

    這篇文章主要介紹了分享9個(gè)Vue的巧妙冷技巧,文章首先通過(guò)巧用$attrs和$listeners的技巧展開,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06

最新評(píng)論