解读element el-upload上传的附件名称不显示 file-list赋值

目录
  • element el-upload上传的附件名称不显示 file-list赋值
    • 问题
    • 解决
  • el-upload上传附件-总结
    • FormData是什么?
    • 使用步骤

element el-upload上传的附件名称不显示 file-list赋值

问题

上传附件后 文件名字不显示

解决

1、首先看file-list 是否在data中定义

2、如果定义了,文件名字还是不显示,在获取数据之后,把文件名字push到fileList中去,给name值赋值就可以显示了。

this.fileList.push({
  name: '',
  url:''
 });

el-upload上传附件-总结

提示:小编今天介绍一下 用FormData 结合 el-upload 实现上传文件

提示:以下是本篇文章正文内容,下面案例可供参考

FormData是什么?

传统的文件上传方式是提交form表单,今天使用了 formdata 所以想好好研究一下

FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,

并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,

本接口和此方法都相当简单直接。如果送出时的编码类型被设为 “multipart/form-data”,它会使用和表单一样的格式。

提到了 “可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去” 那不是ajax吗

那么我们就用ajax来实现文件上传吧!!

使用FormData.append()添加属性

使用步骤

使用 Element-ui 中的el-upload 最终实现

通过 slot 你可以传入自定义的上传按钮类型和文字提示。可通过设置limit和on-exceed来限制上传文件的个数和定义超出限制时的行为。可通过设置before-remove来阻止文件移除操作。

读入数据

代码如下(示例):

   <el-upload
            style="width: 579px"
            class="upload-demo"
            action="https://jsonplaceholder.typicode.com/posts/"
             :http-request="http_request"  // 上传
            :on-preview="handlePreview"
            :before-remove="beforeRemove"  // 删除
            multiple
            :on-exceed="handleExceed"  // 限制
            :file-list="fileList"   // 生成
          >
            <el-button size="small" class="button2" style="150px;"
              >点击上传</el-button
            >
            <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
   </el-upload>

点击http_request 这里结合使用 FormaData

 var formData = new FormData();
      formData.append("file", params.file);
      formData.append("fileName", params.file.name);
      formData.append("tenantId", sessionStorage.getItem("id"));

接着把formadata 作为Ajax 的参数 提交 即可

  this.ajax= ({
         url: '请求地址',
         data: formData,
         method: 'post',
         headers: { 
          "Content-Type": "application/json",
          Accept: "application/json",
          "X-Auth-Token": sessionStorage.getItem("token"),
         }
})
 .then(() => { 
    调用方法一半情况是调用查询附件详情接口(详情的方法查询到的数据赋值到:file-list 中即可 )
})

删除附件:

    beforeRemove(file, fileList) {
       if (file && file.status === "success") {
        this.$confirm("您确定要删除吗?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          confirmButtonClass: "butText",
          type: "warning",
          center: true
        })
          .then(() => {
              this.$axios({
                method: "post",
                url:
                headers: {
                  "Content-Type": "application/json",
                  Accept: "application/json",
                  "X-Auth-Token": sessionStorage.getItem("token"),
                },
              })
              .then(res => {
                // console.log(res);
                this.query_attachment();
          
                  this.$message({
                    type: "success",
                    message: "删除成功!"
                  });
       
              })
              .catch(err => {
                console.log(err);
              });
          })
          .catch(() => {
            this.query_attachment();
            this.$message({
              type: "info",
              message: "已取消删除"
            })
          
          });
      }
    },

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Element el-upload上传组件使用详解

    目录 基本用法 上传文件数量 上传格式及大小限制 上传过程中的各种钩子 显示已上传文件列表 上传时提交数据 选取和上传分开处理 upload上传是前端开发很常用的一个功能,在Vue开发中常用的Element组件库也提供了非常好用的upload组件. 基本用法 代码: <el-upload :action="uploadActionUrl"> <el-button size="small" type="primary">点击

  • 详解Element-UI中上传的文件前端处理

    Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性.但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件,利用JSON文件在前端进行动态展示等等. 下面就展示一下具体做法: 首先定义一个jsonContent, 我们的目标是将本地选取的文件转换为JSON赋值给jsonContent 然后我们的模板文件是利用el-dialog和el-upload两个组件组合:这里停止文件自动上传模式:auto-uplo

  • vue-cli3.0+element-ui上传组件el-upload的使用

    最近项目中涉及很多文件上传的地方,然后文件上传又有很多限制.比如文件大小限制,文件个数限制,文件类型限制,文件上传后的列表样式自定义,包括上传进度条等问题.下面是我对element-ui的上传组件的一些改造, 点击查看源码. 我是自己维护了一个列表数据,再对这个列表数据进行一些操作,没用组件自带的.先看看我的组件模版 <template> <el-upload class="upload-demo" :limit="limit" :action=&

  • element中的el-upload附件上传与附件回显

    目录 1.上传 2.附件回显 开发中经常也会遇到附件的上传和回显,最方便的就是我们封装一个公共组件在页面中引用 1.上传 在src里面新建一个文件夹 <template> <el-upload class="upload-demo" multiple :limit="limit" :accept="accept" :headers="headers" :file-list="fileList&quo

  • 解读element el-upload上传的附件名称不显示 file-list赋值

    目录 element el-upload上传的附件名称不显示 file-list赋值 问题 解决 el-upload上传附件-总结 FormData是什么? 使用步骤 element el-upload上传的附件名称不显示 file-list赋值 问题 上传附件后 文件名字不显示 解决 1.首先看file-list 是否在data中定义 2.如果定义了,文件名字还是不显示,在获取数据之后,把文件名字push到fileList中去,给name值赋值就可以显示了. this.fileList.pus

  • vue+element upload上传带参数的实例

    目录 element upload上传带参数 element上传函数带参数,自定义传参 下面这是标签 我将源码放上 这是需求案列 element upload上传带参数 <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">保存</el-button> <el-upload c

  • Element-ui upload上传文件限制的解决方法

    问题 在accept中添加上传文件的类型只能起到"表面"作用,选择"所有文件"之后,还是可以上传任何类型的文件,根本起不到限制作用. 解决办法 在before-upload(上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传.)钩子里去做判断.这里有一个坑,当你设置了 :auto-upload="false"的时候, 这个钩子是不会被触发的,因此也可以在on-change中做判断.

  • tp5使用layui实现多个图片上传(带附件选择)的方法实例

    tp5使用layui实现多个图片上传(带附件选择),如何加载layui在此不详细说明,有需要可以百度 html代码,主要处理都是在jq中,完成方法全部原创,也许不是最简单的,但也能实现效果 {include file="public/header" /} <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="&qu

  • element el-upload文件上传覆盖第一个文件的实现

    目录 基本用法 显示已上传文件列表 解决办法 总结 upload上传是前端开发很常用的一个功能,在Vue开发中常用的Element组件库也提供了非常好用的upload组件 基本用法 先来看官网 <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" accept=".xls, .xlsx" :on-preview="ha

  • java web中的servlet3 upload上传文件实践

    Servlet 3.0之前的版本中,文件上传是个挺让人头疼的问题,虽然有第三方框架来实现,但使用也还是比较麻烦,在Servlet 3.0中,这些问题将不复存在,Servlet 3.0对文件上传提供了直接支持,配合Servlet 3.0中基于Annotations的配置,大大简化上传件的操作. 一.javax.servlet.http中Part接口 public interface Part 要上传文件必须使用multipart/form-data作为request body. 版本: Servl

  • 在vue项目中使用element-ui的Upload上传组件的示例

    本文介绍了vue项目中使用element-ui的Upload上传组件的示例,分享给大家,具体如下: <el-upload v-else class='ensure ensureButt' :action="importFileUrl" :data="upLoadData" name="importfile" :onError="uploadError" :onSuccess="uploadSuccess&quo

  • Vue + Element UI图片上传控件使用详解

    上一篇 Vue +Element UI +vue-quill-editor 富文本编辑器及插入图片自定义 主要是写了富文本编辑器的自定义及编辑器中图片的上传并插入到编辑内容,这篇文章单独介绍一下element UI 图片上传控件的使用.首先要安装element并中引入,安装引入过程这里不再赘述. 1.引用element 上传控件. <el-upload action="/mgr/common/imgUpload"//这里需要配置一下文件上传地址(跨域) list-type=&qu

  • vue+element实现图片上传及裁剪功能

    本文实例为大家分享了vue+element实现图片上传及裁剪的具体代码,供大家参考,具体内容如下 随便写的一个小demo 功能是没有任何问题 可能里面会有一些小细节没有优化 1 .安装 vue-cropper npm install vue-cropper 2.组件内使用 import { VueCropper } from 'vue-cropper' components: { VueCropper, }, 具体可见官网 demo <template> <div> <h1&

随机推荐