Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用el-upload进行服务端直传时出现错误

使用el-upload进行服务端直传时出现错误

作者头像
才疏学浅的木子
发布于 2022-11-13 01:29:19
发布于 2022-11-13 01:29:19
2.9K00
代码可运行
举报
文章被收录于专栏:CSDN文章CSDN文章
运行总次数:0
代码可运行

👨‍💻个人主页: 才疏学浅的木子 🙇‍♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇‍♂️ 📒 本文来自专栏: 问题(BUG)集合 🌈 每日一语BUG不再来临 🌈

项目场景:

使用el-upload标签获取Java服务端签名直传


问题描述

第一次发送给oss的请求不会携带上数据而第二次就会携带上一次的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<el-upload
      class="avatar-uploader"
       action="#
      :data="policyObj"
      :show-file-list="false"
      :on-success="handleUploadSuccess"
       :before-upload="beforeUpload">
  <img v-if="dataForm.coverUrl" :src="dataForm.coverUrl" class="avatar">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
beforeUpload(file) {
        console.log("beforeUpload")
        this.$http({
              url: this.$http.adornUrl(`/third/oss/policy`),
              method: 'post',
              params: this.$http.adornParams()
            }).then(({data}) => {
              console.log(data)
              if (data && data.code === 0) {
                this.policyObj.policy = data.data.policy
                this.policyObj.signature = data.data.signature
                this.policyObj.ossaccessKeyId = data.data.accessId
                this.policyObj.dir = data.data.dir
                this.policyObj.host = data.data.host
                this.policyObj.key = data.data.host+'/'+data.data.dir+this.getUUID()+file.name
                console.log(this.policyObj)
              }
            })
    },

第二次请求


原因分析:

我也不清楚呜呜呜,我不是很懂前端来个前端大佬讲讲


解决方案:

使用Promise就可以成功实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     beforeUpload(file) {
        console.log("beforeUpload")
        return new Promise((resolve,reject)=>{
          this.$http({
            url: this.$http.adornUrl(`/third/oss/policy`),
            method: "get",
            params: this.$http.adornParams({})
          }).then(({data})=>{
            this.policyObj.policy = data.data.policy
            this.policyObj.signature = data.data.signature
            this.policyObj.ossaccessKeyId = data.data.accessId
            this.policyObj.dir = data.data.dir
            this.policyObj.host = data.data.host
            this.policyObj.key = data.data.host+'/'+data.data.dir+this.getUUID()+file.name
            resolve(true)
          }).catch(err=>{
            reject(false)
          })
        })
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
uniapp对接oss视频上传+压缩
首先是文件上传的代码: module.exports = { getUUID() { //生成UUID return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
阿超
2022/08/21
8.8K0
微信小程序环境下将文件上传到 OSS
步骤 1: 配置 Bucket 跨域 客户端进行表单直传到 OSS 时,会从浏览器向 OSS 发送带有 Origin 的请求消息。OSS 对带有 Origin 头的请求消息会进行跨域规则(CORS)的验证。因此需要为 Bucket 设置跨域规则以支持 Post 方法。
达达前端
2019/07/03
5.2K0
微信小程序环境下将文件上传到 OSS
vue-element-admin上传图片的功能,限制图片大小
vue-element-admin 是一个后台前端解决方案,它基于 vue 和 element-ui实现。
王小婷
2021/11/24
1.1K0
vue-element-admin上传图片的功能,限制图片大小
el-upload上传文件
这个比较简单,因为element-plus也封装好了,只需要使用headers属性,去设置请求头即可
赤蓝紫
2023/03/16
2K0
el-upload上传文件
vue+vue-cropper实现上传剪裁图片以及上传时压缩图片
代码暂时都是从项目中抽出来的,只适合借鉴参考,等有时间再单独将这些功能单独写项目,欢迎大家提供更好用的方法或指出不足之处,一起进步。
conanma
2021/11/03
3.6K0
【解决方案】ElementUI图片上传前如何对尺寸进行验证并且上传到新浪SCS?
具体的属性可以查看官方文档,这里用到的是:before-upload="beforeAvatarUpload" 这个钩子函数,看名字就知道这是在图片上传前执行的方法,在此可以进行一些验证,官方给出了对图片类型以及大小的验证,接下来将实现对图片尺寸的验证.
一尾流莺
2022/12/10
1.3K0
【解决方案】ElementUI图片上传前如何对尺寸进行验证并且上传到新浪SCS?
el_upload上传多张图片以及删除回显问题
需要在upload的时候上传多张图片并且能够随时删除其中任意的一张图片,el_upload组件确实有很大的问题,封装的东西底层文档也写的不清不楚的,所以直接自己实现把,别指望官方的那个鸡肋了
安德玛
2022/03/08
4K0
简化代码操作-文件上传组件封装
写在前面 最近一直在写关于angular的教程,但是因为一直没写到自己比较满意的一个状态,所以就先放到草稿箱里面吧,等我写的差不多以后再发出来,但是一直没有进行文章的更新也挺烦的,所以给大家封几个组件吧,简化大家的代码,今天从文件上传开始吧!后续我会更新别的一些组件封装的代码,你们希望哪些组件封装的可以留言,说清楚基于什么ui库即可! 特殊说明 为什么我说可以简化大家的操作呢,我们一般使用文件上传或者是封装文件上传的时候,只是将该文件封装为一个可以import导入使用的组件,但是我们在更新文件的时候
何处锦绣不灰堆
2022/01/13
1K0
vue-element-admin 上传upload图片慢问题处理
vue-element-admin自带上传图片组件,在使用的过程中发现上传速度很慢,尤其是上传一些大图需要耗时几十秒不能忍受。出现这种情况,是因为upload组件会将图片上传到action="https://httpbin.org/post" ,并返回转换成base64编码格式的数据。
孤烟
2020/09/27
2.1K4
使用ElementUI el-upload一次性上传多个文件
在日常的前端开发中,文件上传是一个非常常见的需求,尤其是在用户需要一次性上传多个文件的场景下。ElementUI作为一款非常优秀的Vue.js 2.0组件库,为我们提供了丰富的UI组件,极大地提升了开发效率。其中,el-upload组件便是一个功能强大且易于使用的文件上传组件。
繁依Fanyi
2024/07/02
3.5K0
黑马瑞吉外卖之文件上传和下载
文件上传的前端页面我们使用到的是spring-web对上传代码的一个封装。 我们采用到一个上传的前端页面
兰舟千帆
2022/09/26
3950
el-upload组件使用
ref="upload":给这个元素一个引用名,方便在Vue实例中通过this.$refs.upload访问。
用户4396583
2024/09/05
1430
ElementUI——el-upload上传前校验图片宽高
总要写点东西吧,最近忙于项目,github上的问题也没处理,博客也没咋写,自媒体上的东西也没咋发,随手记录一下当前项目改造时候遇到的问题吧;
思索
2024/08/15
2820
ElementUI——el-upload上传前校验图片宽高
SpringBoot 整合文件上传 elment Ui 上传组件
用户7630333
2023/12/07
3740
SpringBoot 整合文件上传 elment Ui 上传组件
el-upload 上传Demo
<el-upload class="upload-demo" ref="upload" :on-change="handleUploadChange" :on-success="handleImportSuccess" :before-upload="beforeImportUpload" :http-request="uploadZip" :file-list="fileList" :on-remove="handleUploadRemove
李维亮
2021/07/08
1.3K0
ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
  从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了一个和之前类似的文件选择上传的需求,不过这次是需要手动点击按钮把文件上传到服务器中进行数据导入,而且最多只能够选择一个文件进行上传,上传成功后需要对file-list中的文件列表数据进行清空操作,在这里服务端使用的是ASP.NET Core WEB API来进行文件流数据接收和保存。
追逐时光者
2020/04/16
2.5K0
Element-UI Upload 手动上传文件的实现与优化
在Web开发中,文件上传是一个常见的需求。Element-UI作为一套优秀的Vue组件库,提供了丰富的上传组件,其中<el-upload>就是用于文件上传的组件。本文将重点介绍如何使用Element-UI的Upload组件进行手动文件上传,以及在实际应用中的一些优化策略。
IT_陈寒
2023/12/14
5.6K0
Element-UI Upload 手动上传文件的实现与优化
在 `el-upload` 的事件中传递更多参数的方法
在使用 Element UI 的 el-upload 组件时,我们可能需要在不同的事件中传递额外的参数,以满足业务需求。本文将详细讲解如何在 on-success、on-error 和 before-upload 事件中传递更多参数,并介绍相关知识点。
繁依Fanyi
2024/06/27
1.9K0
微服务项目:尚融宝(38)(核心业务流程:申请借款额度(1))
step1:用户在个人中心点击 “立即借款”  (http://localhost:3000/user/borrower)
一个风轻云淡
2022/11/15
4490
微服务项目:尚融宝(38)(核心业务流程:申请借款额度(1))
vue-element-admin上传图片
在vue后台管理系统里面,有时候会遇到一个图片上传的功能,做这个功能的时候的思路是这样的: 1:首选由前端写一个图片上传的upload标签,选择本地的图片文件之后 2:调用后端给的接口,以二进制文件的形式传给后端服务器 3:服务器进行处理,处理完成之后将服务器的主机名加到图片名称的前缀上 4:返回一个有服务器主机+图片名称的在线就可以访问的链接给到前端 5:前端直接将在线链接路径渲染在界面显示图片
王小婷
2020/11/26
1.2K0
推荐阅读
相关推荐
uniapp对接oss视频上传+压缩
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验