vue3上传文件

接口文件

hdmc,hddd,hdjb,cycy,zycy,kssj,jssj,description是后端需要的其他字段,files才是后端文件上传的字段
/dtjsTwHdgl为后端接口

//新增+文件上传
export const addTeamBreak = async (hdmc,hddd,hdjb,cycy,zycy,kssj,jssj,description,
files) => {const formData = new FormData();
if(files){
    files.forEach((file) => {
    formData.append("file", file);});}
    formData.append("hdmc", hdmc);
    formData.append("hddd", hddd);
    formData.append("hdjb", hdjb);
    formData.append("cycy", cycy);
    formData.append("zycy", zycy);
    formData.append("kssj", kssj);
    formData.append("jssj", jssj);
    if(description){
        formData.append("description", description);
    }
    try {
      const response = await service.post("/dtjsTwHdgl", formData, {});
      return response.data;
    } catch (error) {
      console.error(error);
      throw error;
    }
  };

template

新增或修改的对话框

<el-row>
          <el-col :span="20">
            <el-form-item v-if="addOrEditType == '修改'" label="附件名称" label-width="120px" prop="fileName">
              <el-input v-model="form.fileName" disabled maxlength="30" placeholder="无"/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="20">
            <el-form-item label="选择附件" prop="file" label-width="120">
              <input type="file" ref="fileInput" multiple @change="handleFileChange" />
            </el-form-item>
          </el-col>
        </el-row>

js

选择附件点击的方法

//上传组件的代码
const handleFileChange = (event) => {
  data.files = [...event.target.files];
};

新增上传文件
hdmc, hddd, hdjb, cycy, zycy,kssj,jssj,description为后端需要的其他字段
data.files才是后端需要的文件上传的字段
修改文件和新增文件差不多,后端接口不同而已

 form.value.cycy=form.value.cycy.join(",")
      form.value.zycy=form.value.zycy.join(",")
    if (addOrEditType.value == "添加") {
        const { hdmc, hddd, hdjb, cycy, zycy,kssj,jssj,description } = form.value;
      const res = addTeamBreak(hdmc, hddd, hdjb, cycy, zycy,kssj, jssj,description,data.files);
      if (res) {
        ElMessage({ message: "新增成功", type: "success" });
        requestAPI();
      } 
    } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值