国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

element ui的upload 手動(dòng)上傳頭像(復(fù)制就能用)

這篇具有很好參考價(jià)值的文章主要介紹了element ui的upload 手動(dòng)上傳頭像(復(fù)制就能用)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

elementui頭像上傳,vue.js,elementui,前端

elementui頭像上傳,vue.js,elementui,前端

?elementui頭像上傳,vue.js,elementui,前端

之前在網(wǎng)上看了好多,結(jié)果給的代碼都不全,整了快一天,才整好,心態(tài)都崩了,想砸電腦

這里貼出來(lái)愿后來(lái)人省力?

下面的代碼除了最下面的axios請(qǐng)求需要和自己的匹配之外。其他的可以直接復(fù)制使用了

?

服務(wù)器接口處理函數(shù)

這里只是處理函數(shù),其余的部分沒(méi)有貼,因?yàn)橐N就要貼很多node服務(wù)器的代碼了

這里有需要提交兩個(gè)參數(shù),第一個(gè)是需要手動(dòng)上傳的base64格式的字符串,第二個(gè)時(shí)用戶(hù)的id

這里因?yàn)槭钦?qǐng)求用戶(hù)信息成功之后了,本地的token存儲(chǔ)了用戶(hù)id,這里默認(rèn)能檢測(cè)到,就不需要再手動(dòng)上傳了

// 更新用戶(hù)頭像
exports.updateAvatar = (req,res) => {
    // 通過(guò)Id來(lái)進(jìn)行定位更改信息
   const sql = `update ev_users set user_pic=? where id=?`
   db.query(sql,[req.body.avatar,req.user.Id],(err,results) => {
    if(err) return res.cc('更換頭像失敗')
    if(results.affectedRows !== 1) return res.cc('影響多行')
    res.cc('更換頭像成功',0)
   })
}

?vue代碼

如果不需要token驗(yàn)證的話(huà),可以把:headers="headers"刪掉

標(biāo)數(shù)字的注釋下面的代碼都是需要和自己的后臺(tái)接口匹配的

<template>
    <div>
        <el-upload class="avatar-uploader" accept="JPG, .PNG, .JPEG,.jpg, .png, .jpeg" :action="url" list-type="picture"
            :headers="headers" :multiple="false" :show-file-list="false" :http-request="uploadImg">
            <img v-if="imgString" :src="imgString" class="avatar" />
            <i v-else class="el-icon-plus avatar-uploader-icon" size="mini"></i>
        </el-upload>
        <el-button type="primary" size="mini" @click="update_userInfo()">
            確認(rèn)修改</el-button>
    </div>
</template>

<script>
import axios from 'axios'
//配置axios
//1.axios的默認(rèn)根地址
axios.defaults.baseURL = 'http://127.0.0.1:3000'
// axios請(qǐng)求攔截
// 為保證其他的頁(yè)面在每次請(qǐng)求時(shí)都確保是登錄狀態(tài),便需要攔截器在請(qǐng)求之前加入token令牌,來(lái)讓
// 后臺(tái)知道此時(shí)已經(jīng)登錄
//request為請(qǐng)求,use為回調(diào)函數(shù)
axios.interceptors.request.use(config => {
    // 為請(qǐng)求頭對(duì)象,添加 Token 驗(yàn)證的 Authorization 字段
    config.headers.Authorization = window.sessionStorage.getItem('token')
    return config
})
export default {
    data() {
        return {
            // base64 格式字符串
            imgString: "",
            // 2.圖片上傳路徑
            url: "http://127.0.0.1:3000/my/update/avatar",
            // 圖片上傳頭部信息(如果需要token就需要攜帶頭部信息)
            headers: {
                Authorization: window.sessionStorage.getItem("token"),
            },
        };
    },
    methods: {
        // 轉(zhuǎn)換base64方法時(shí)Promise對(duì)象,必須換成同步
        // 網(wǎng)上還有其它辦法,但是嘗試過(guò)后,這個(gè)方法出錯(cuò)的概率最低
        async uploadImg(file) {
            // 這里不一定是file.file,如果使用的方法不一樣,有的是file.raw
            // 這里傳入的應(yīng)該是組件中攜帶的文件信息
            let base64Str = await this.getBase64(file.file);
            this.imgString = base64Str;
        },
        // 獲取圖片轉(zhuǎn)base64,這里用的是Promise,所以調(diào)用方法時(shí)必須轉(zhuǎn)換成同步(async,await)
        // 否則上傳數(shù)據(jù)時(shí)好時(shí)壞,能不能上傳成功全看運(yùn)氣 ^_^
        getBase64(file) {
            return new Promise(function (resolve, reject) {
                const reader = new FileReader();
                let imgResult = "";
                reader.readAsDataURL(file);
                reader.onload = function () {
                    imgResult = reader.result;
                };
                reader.onerror = function (error) {
                    reject(error);
                };
                reader.onloadend = function () {
                    resolve(imgResult);
                };
            });
        },
        //3.確認(rèn)修改之后上傳修改信息 axios請(qǐng)求
        async update_userInfo() {
            const { data: res } = await axios.post('/my/update/avatar', { avatar: this.imgString })
            console.log(res);
        }
    },
};
</script>

<style scoped lang="less">
// 頭像上傳區(qū)
.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-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    line-height: 178px;
    text-align: center;
}

.avatar {
    width: 100px;
    height: 100px;
    display: block;
    border-radius: 50%;
    margin: 20px 0 0 20px;
}
</style>

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-569338.html

到了這里,關(guān)于element ui的upload 手動(dòng)上傳頭像(復(fù)制就能用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 擴(kuò)展element-ui el-upload組件,實(shí)現(xiàn)復(fù)制粘貼上傳圖片文件,帶圖片預(yù)覽功能

    擴(kuò)展element-ui el-upload組件,實(shí)現(xiàn)復(fù)制粘貼上傳圖片文件,帶圖片預(yù)覽功能

    控件改造 在窗口的 el-form 控件參數(shù)中添加 @paste.native 事件,事件綁定方法名 handlePaste 也可以在其他控件中添加事件監(jiān)聽(tīng),看個(gè)人需求。 注意: 監(jiān)聽(tīng)粘貼事件時(shí),需要當(dāng)前頁(yè)面先獲取焦點(diǎn),否則無(wú)法正常監(jiān)聽(tīng), 可以在頁(yè)面加載后調(diào)用 focus() 獲取焦點(diǎn) 粘貼功能Js部分參考資料

    2023年04月08日
    瀏覽(124)
  • element-ui---頭像上傳

    element-ui---頭像上傳

    樣式 必選參數(shù),上傳的地址 是否顯示已上傳文件列表 文件上傳成功的鉤子 上傳文件之前的鉤子,參數(shù)為上傳的文件,若返回 false 或者返回 Promise 且被 reject,則停止上傳。 1.代碼 ? ?可以看出在上傳之前和上傳完成后接收的兩個(gè)參數(shù)對(duì)應(yīng)相應(yīng)的操作。 。

    2024年02月13日
    瀏覽(23)
  • naive UI 的upload組件自定義手動(dòng)上傳圖片的base64位

    網(wǎng)上發(fā)現(xiàn)還是element plus的資料比較多,其實(shí)這些組件都大同小異,記錄一下方便以后使用。

    2024年02月07日
    瀏覽(23)
  • Element UI upload 圖片上傳功能

    Element UI upload 圖片上傳功能

    在config/SecurityConfig配置 \\\"/xxx/**\\\"讓xxx路徑下的全部文件訪(fǎng)問(wèn)不需要token 在config/ResourcesConfig中增加 在data()里面加入header屬性設(shè)置子屬性Authorization 在el-upload里設(shè)置 在提交時(shí) 在提交時(shí)新增clear()方法調(diào)用子組件里clear方法 加入@clearImageUrl綁定方法 clearImageUrl(1) 括號(hào)內(nèi)可以直接攜帶參

    2024年02月14日
    瀏覽(24)
  • element UI的Upload 自定義上傳

    2024年04月22日
    瀏覽(23)
  • Element-UI的Upload 上傳文件

    Element-UI的Upload 上傳文件

    \\\"element-ui\\\": \\\"^2.15.9\\\" Upload 上傳官方文檔 2.1 自動(dòng)上傳 限制一次只能上傳一個(gè)文件,并判斷上傳的文件大小及文件類(lèi)型; 自動(dòng)上傳:即選擇文件后即開(kāi)始校驗(yàn),校驗(yàn)通過(guò)后調(diào)接口上傳到服務(wù)器 2.2 手動(dòng)上傳 限制一次只能上傳一個(gè)文件,并判斷上傳的文件大小及文件類(lèi)型; 手動(dòng)上

    2024年02月11日
    瀏覽(21)
  • 使用element-ui的Upload 上傳文件

    使用element-ui的Upload 上傳文件

    使用Upload 進(jìn)行文件上傳 https://element.eleme.cn/#/zh-CN/component/upload 注:當(dāng)文件和一些其他數(shù)據(jù)(姓名,年齡)進(jìn)行一起上傳時(shí)候可分為兩種過(guò)程 第一種:?jiǎn)为?dú)的文件上傳地址,上傳完文件后,后端返回該文件的地址,前端將該地址同其他數(shù)據(jù)(姓名,年齡)再次上傳。 第二種:

    2024年02月12日
    瀏覽(25)
  • element-ui upload圖片上傳組件使用

    element-ui upload圖片上傳組件使用

    圖片上傳前端收集 數(shù)據(jù) 再調(diào)用接口發(fā)送到后端 組件標(biāo)簽內(nèi)的參數(shù): 參數(shù) 說(shuō)明 類(lèi)型 可選值 默認(rèn)值 action 必選參數(shù),上傳的地址 string — — headers 設(shè)置上傳的請(qǐng)求頭部 object — — multiple 是否支持多選文件 boolean — — data 上傳時(shí)附帶的額外參數(shù) object — — name 上傳的文件字段

    2023年04月19日
    瀏覽(26)
  • Element Ui 之 文件上傳組件的使用 Upload

    最近正好學(xué)到了Element Ui的文件上傳組件,雖然不太難但一個(gè)人琢磨還是整了很久 以下是我整理的規(guī)范性文件上傳組件為例 前端 后端 此處的String dirPath = \\\"D:/files\\\"可以選取你電腦上的指定位置 接上面 如有錯(cuò)誤,歡迎指出

    2024年02月13日
    瀏覽(22)
  • Element ui Upload 上傳圖片到七牛云

    action里填寫(xiě)的是七牛云的服務(wù)器地址(根據(jù)自己申請(qǐng)的區(qū)域填,如下圖,我這邊用的是華北地區(qū)) 注意:開(kāi)發(fā)環(huán)境可以用http但是上線(xiàn)時(shí)需改為https請(qǐng)求,不然請(qǐng)求失敗,所以建議都用https 七牛的一張存儲(chǔ)區(qū)域表 存儲(chǔ)區(qū)域 ? ?區(qū)域代碼 ? ?客戶(hù)端上傳地址 ? ?服務(wù)端上傳地址

    2024年02月14日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包