vue异步跟随表单上传图片 单张or多张

下面是获取的后台照片展示 ,我这里限制了图片数量
在这里插入图片描述
limit 为限制的图片数量多少
dialogVisibles 为控制是否有图片
contractPicUrl为展示的图片后台url 若有多张图片 需要使用for循环方法

        <el-form-item label="合同照片" prop="contractPic" label-width="80">
          <el-upload
            v-model="forms.contractPic"
            ref="uploadExcelh"
            action="#"
            :on-exceed="handleExceed"
            :before-upload="beforeAvatarUploadh"
            :on-preview="handlePictureCardPreview"
            :limit="1"
            list-type="picture-card"
            accept=".png,.jpg,.jpeg"
            :auto-upload="false">
            <i slot="default" class="el-icon-plus"></i>
          </el-upload>
          <div v-if="dialogVisibles">
            <img  :src="form.contractPicUrl" alt=""  width="150" height="150" />
          </div>
        </el-form-item>


    handleExceed() {
      this.$modal.msgError(`上传图片数量不能超过1张!`);
    },

//我这里是上传之前更改了文件名称  
    beforeAvatarUploadh(file){
      let fileName=file.name;
      let type =fileName.substring(fileName.indexOf('.'),fileName.length)
      const myFile = new File([file], "h"+Date.now()+type, {
        type: file.type,
      });
      this.beforeAvatarUpload(myFile);
    },
    //图片预览
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },

图片上传前的验证

    beforeAvatarUpload(file) {
      this.fileList.push(file);
      const isJPG = file.type === 'image/jpeg' || file.type === 'image/png';
      const isLt2M = file.size / 1024 / 1024 < 10;
      if (!isJPG) {
        this.fileList=[];
        this.$modal.msgError("文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。");
      }
      if (!isLt2M) {
        this.fileList=[];
        this.$modal.msgError("文件格式错误,请上传图片大小不能超过10m。");
      }
      return isJPG && isLt2M;
    },

上传需使用 let formData = new FormData();

     for (let i = 0; i < this.fileList.length; i++) {
            formData.append('files', this.fileList[i])
          }
后台接受post 请求 我是因为有多张图片在一起 在tyAgentMsg实体类内
增加了     private MultipartFile[] files; 属性

    @PostMapping("/addsingeInfocom")
    public AjaxResult addsingeInfocom( TyAgentMsg tyAgentMsg)throws Exception {
        OpenFatspAccountIn on = new OpenFatspAccountIn();
        //上传sftp一套 然后封装请求信息   本地上传一套保存
        //为1那就是提交了不是业务保存
        MultipartFile[] fileData = tyAgentMsg.getFiles();

相关推荐

  1. 安卓文件照片照片实现

    2024-01-26 18:36:03       21 阅读
  2. uniapp 图片到django后端

    2024-01-26 18:36:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 18:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 18:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 18:36:03       82 阅读
  4. Python语言-面向对象

    2024-01-26 18:36:03       91 阅读

热门阅读

  1. Python中如何向列表中添加元素?

    2024-01-26 18:36:03       56 阅读
  2. 什么是多视角回归?

    2024-01-26 18:36:03       51 阅读
  3. 列举MySQL对于Where子句的优化

    2024-01-26 18:36:03       46 阅读
  4. SQLite 简介

    2024-01-26 18:36:03       53 阅读
  5. Android IdleHandler 接口详解

    2024-01-26 18:36:03       50 阅读
  6. CentOS7 安装JDK、部署Jar包

    2024-01-26 18:36:03       52 阅读
  7. Azure AD 和 Identity Server4 客户端身份验证和授权

    2024-01-26 18:36:03       49 阅读
  8. 静态函数的定义与申明

    2024-01-26 18:36:03       47 阅读
  9. 多旋翼无人机能够在空中悬停

    2024-01-26 18:36:03       49 阅读
  10. linux系统nginx工具接口压力测试工具和关联php页面

    2024-01-26 18:36:03       49 阅读
  11. 测试用例相关问题

    2024-01-26 18:36:03       42 阅读
  12. uni-app 国际化

    2024-01-26 18:36:03       53 阅读
  13. html转换成图片

    2024-01-26 18:36:03       53 阅读