热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

vue项目中使用element插件中的upload上传文件的踩坑记录

  一、项目需求在上传状态中原插件点击直接上传到服务器本项目中的需求是点击上传到本地点击确定按钮之后进行网络请求上传到服务器上二、解决办法(1)标签上传文

 

 一、项目需求在上传状态中原插件点击直接上传到服务器 本项目中的需求是 点击上传到本地 点击确定按钮之后进行网络请求上传到服务器上

二、解决办法

(1)标签

<span>上传文件:span>
<el-upload
ref="uploadFile"
class
="upload-demo"
:action
="actionUrl"
:on-change
="handleChange"
:file-list
="fileList"
:show-file-list
="true"
:before-upload
="beforeUpload"
:on-success
="successUpdate"
:auto-upload
="false"

>
<el-button size="small" icon="el-icon-upload2">点击上传el-button>
el-upload>

 

(2)js行为

(1)本地上传

beforeUpload(file) {
console.log(file);
let fileName
= file.name;
// let uid = file.uid
let pos = fileName.lastIndexOf(".");
let lastName
= fileName.substring(pos, fileName.length);
console.log(lastName, lastName.toLowerCase());
if (
lastName.toLowerCase()
!== ".xls" &&
lastName.toLowerCase()
!== ".xlsx"
) {
this.$message.error("文件必须为 .xls .xlsx类型");
return false;
}
return false;
},

(2)点击网络请求上传服务器

transferToManager() {
console.log(
'post',this.$refs.uploadFile.$children[0])
this.$refs.uploadFile.$children[0].post(
this.$refs.uploadFile.fileList[0].raw
)
this.managerStatus = false;
},

(3)捕获请求结果

successUpdate(response) {
console.log(
'successUpdate',response);
if (response.code == 200) {
this.$message(response.msg);
}
else{
this.$message.warning(response.msg);
}
this.getAmountList()
},

三、原因分析

为什么不能直接调用submit呢?因为在befroeupload函数调用时若状态改为false,则会导致submit失效



推荐阅读
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • 2023年PHP实现1GB视频上传的最佳实践
    本文将详细介绍如何使用PHP处理1GB大小的视频上传问题,包括文件类型验证、上传大小限制设置及优化上传过程,确保高效稳定地完成大文件上传。 ... [详细]
  • 前言叨逼叨iOS上传文件,可能有很多第三方的框架之类的,比如AFN或者Alamofire之类的框架,但是今天要谈论的是原生的API是如何进行文件上传。兵 ... [详细]
  • 本文将详细介绍Python中一个非常实用的HTTP客户端库——requests模块,它不仅易于使用,而且功能强大,非常适合用于开发网络应用或进行Web数据抓取。 ... [详细]
  • 解决vCenter vSphere HA初始化失败的问题
    本文探讨了在集群中遇到的所有vSphere HA主机状态显示‘无法正确安装或配置vSphere HA代理’错误的情况,并详细介绍了排查与解决步骤,包括检查HA初始化错误及安装HA代理的常见故障排除方法。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • Redis安全防护深入解析
    本文详细探讨了如何通过指令安全、端口管理和SSL代理等措施有效保护Redis服务的安全性。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 微信小程序实现拍照与图片上传功能
    本文介绍如何在微信小程序中实现用户通过拍照或从相册选择图片,并将图片上传至服务器的功能,包括调用相关API和处理上传响应。 ... [详细]
  • 本文详细介绍了一个既适用于PHP5也适用于PHP7的cURL文件上传解决方案。此示例源于项目需求,旨在通过cURL实现文件上传功能,并解决不同PHP版本间的兼容性问题。 ... [详细]
  • 解决Vue项目离线创建问题
    当使用vue-cli工具通过命令`vue init webpack demo`创建Vue项目时,可能会遇到连接超时错误,这通常是因为网络问题导致无法访问远程服务器。本文将介绍如何通过离线方式成功创建Vue项目。 ... [详细]
  • PHPWind 实战教程:完成 PHPWind 安装
    在成功安装 XAMPP 后,需将已下载并解压的 PHPWind 文件夹移至 /opt/lampp/htdocs 目录,并通过 chmod 命令调整 upload 文件夹的权限,以确保后续安装流程顺利进行。 ... [详细]
  • 本文记录了一位求职者在腾讯面试中的经历,特别提到面试过程中关于新闻APP相关问题的探讨。文章分析了自我介绍的重要性,项目经验的表述技巧,以及技术问题的回答策略。 ... [详细]
author-avatar
叶斯琪147-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有