element UI 上传的实现

上element UI官网先把代码复制一份

<el-upload
  class="upload-demo"
  drag
  上传路径的两种方式
  :action="uploadImgUrl"
  action="https://jsonplaceholder.typicode.com/posts/"
  multiple>
  <i class="el-icon-upload"></i>
  <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

加一些通用的方法,他们即在上述代码中添加,也在methods中添加。

  • :on-success=“handleUploadSuccess”
  • :before-upload=“handleBeforeUpload”
  • :on-error=“handleUploadError”
    这些加不加无所谓,但是为了看起比较有成就感,我把返回的数据输出了一下。
handleUploadSuccess(res) {
                this.uploadUrlPath = JSON.stringify(res);
                this.loading.close();
            },
 handleBeforeUpload() {
    this.loading = this.$loading({
        lock: true,
        text: "上传中",
        background: "rgba(0, 0, 0, 0.7)",
    });
},
handleUploadError() {
    this.$message({
        type: "error",
        message: "上传失败",
    });
    this.loading.close();
},

handleBeforeUpload()这个方法可以修改一下,判断上传文件的类型。

比如:

if (fileType !== '.jpg' & fileType !== '.bmp' & fileType !== '.gif' & fileType !== '.jpg' & fileType !== '.jpeg' & fileType !== '.png') {
        this.$message({
          type: "error",
          message: "上传图片的格式错误",
        });
        return false;
      }

上传路径的设置

在vue中配置路径

uploadImgUrl:  "/v1/admin/common/upload",

在项目配置文件中配置路径。

根据自己的项目,配置

  profile: D:/CodeTrain/uploadPath/

	血的教训:别用\\    最后一定要加/

方法

这里使用了免费开源的niua框架

try {
            // 上传文件路径
            String filePath = NiuaConfig.getUploadPath();
            // 上传并返回新文件名称
            String fileName = FileUploadUtils.upload(filePath, file);
            String url = serverConfig.getUrl() + fileName;
            Map<String, String> prams = new HashMap<String, String>();
            prams.put("fileName", fileName);
            prams.put("url", url);
            return ResultJson.ok(prams);
        } catch (Exception e) {
            return ResultJson.failure(ResultCode.BAD_REQUEST, e.getMessage());
        }

部分配置

上传文件的类型在框架的配置部分设置

 public static final String[] DEFAULT_ALLOWED_EXTENSION = {
            // 图片
            "bmp", "gif", "jpg", "jpeg", "png",
            // word excel powerpoint
            "doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt",
            // 压缩文件
            "rar", "zip", "gz", "bz2",
            //视频
            "mp4","MP4",
            // pdf
            "pdf" };

具体是想要图片类型还是视频类型,可以在前端进行上传时判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值