找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2862|回复: 0

前端vue ElementUI upload 上传

[复制链接]
小丑
法师

309

主题

21

回帖

18

广播

见习版主

积分
774
泰拉
11443
水晶
5
铜钥匙
3
银钥匙
0
金钥匙
0

【江湖新秀】【我是小土豪】【宝剑回鞘】【泰拉达人】【奥运选手】【潜水高手】

发表于 2021-10-16 22:37:17 | 显示全部楼层 |阅读模式
技术交流
文章类型: 实用技巧
涉及领域: VUE 
内容难度: 普通
前端
在此借助ElementUI中的upload上传组件。

[HTML] 纯文本查看 复制代码
<el-upload
    :before-upload="beforeAlbumUpload"
    :on-success="handleAlbumSuccess"
    :show-file-list="false"
    accept="image/*"
    action="http://localhost:8989/test/upload"
    class="avatar-uploader"
    name="file">
    <img :src="imageUrl" alt="专辑图片" class="avatar" v-if="imageUrl">
    <i class="el-icon-plus avatar-uploader-icon" v-else></i>
</el-upload>


1. action表示文件上传的服务器地址接口,即上传到哪里

2. :before-upload表示在文件进行上传之间对文件进行的操作,可以对文件类型,大小进行限制,ElementUI官网的例子

[HTML] 纯文本查看 复制代码
beforeAlbumUpload(file: any) {
    const isJPG = file.type === 'image/jpeg';
    const isLt2M = file.size / 1024 / 1024 < 2;

    if (!isJPG) {
    this.$message.error('上传图片只能是 JPG 格式!');
    }
    if (!isLt2M) {
    this.$message.error('上传图片大小不能超过 2MB!');
    }
    return isJPG && isLt2M;
}


3. :on-success表示文件上传成功之后,调用的一个方法

[HTML] 纯文本查看 复制代码
handleAlbumSuccess(res: any, file: any) {
    // res表示后端的返回值,其中应包含文件上传后的url路径
    console.log(res);
    // file表示这个上传文件本身
    console.log(file);
    // 不是很清楚这个URL创建的方法,应该是文件展示的一种方式
    // this.imageUrl = URL.createObjectURL(file.raw);
    // 此处可以将上传成功的文件url赋值给image的src属性,一般为相对路径,需要拼接为完整的url
    this.imageUrl = 'http://www.another.ren/audios/' + res;
}


4. name表示上传文件时文件的名字,与后端保持一致

5. accept表示选择文件时的默认类型限制,只是一个默认方式,用户可以修改,需要进行校验

获得 大天使卡 一张

卡片说明:赵匡胤 遇到 [非酋妖妖灵] 被赠与 1 金钥匙.

卡片效果:获得 1 金钥匙

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-4-18 08:55 , Processed in 0.104763 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表