Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue上传文件遇到的问题[通俗易懂]

Vue上传文件遇到的问题[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-11-10 08:38:31
发布于 2022-11-10 08:38:31
75500
代码可运行
举报
运行总次数:0
代码可运行

问题

之前项目中前端使用了vue-cli,引入了上传组件,所以在上传文件时很容易,没有考虑太多问题。

image-cropper组件中 有url属性,直接使用:url=”文件服务器地址”绑定上传的地址即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<el-form-item label="讲师头像">
<!-- 头衔缩略图 -->
<pan-thumb :image="teacher.avatar"/>
<!-- 文件上传按钮 -->
<el-button type="primary" icon="el-icon-upload" @click="imagecropperShow=true">更换头像
</el-button>
<!-- v-show:是否显示上传组件 :key:类似于id,如果一个页面多个图片上传控件,可以做区分 :url:后台上传的url地址 @close:关闭上传组件 @crop-upload-success:上传成功后的回调 <input type="file" name="file"/> -->
<image-cropper v-show="imagecropperShow" :width="300" :height="300" :key="imagecropperKey" :url="BASE_API+'/eduoss/fileoss'" field="file" @close="close" @crop-upload-success="cropSuccess"/>
</el-form-item>

解决

本次是用的是html基本页面,没有上传组件,那么文件需要自己获取。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form autocomplete="off">
<!--省略其他输入域……-->
<div class="form-group">
<input class="form-control" type="file" name="fileupload" @change="upLoadPicture($event)" v-model="member.avatar" accept="image/*">
<i class="icon_images"></i>
</div>
<!--省略其他输入域……-->
<div id="pass-info" class="clearfix"></div>
<a href="#0" class="btn_1 gradient full-width">立即注册!</a>
</form>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let vm = new Vue({ 

el: "#app",
data() { 

return { 

member: { 

mobile: "",
password: "",
nickname: "",
avatar: "",
code: "",
}
}
},
methods: { 

upLoadPicture(e) { 

//获取文件
let file = e.target.files[0]
//将文件放入表单文件
let formData = new FormData();
formData.append('file', file);
//上传文件
axios.post("http://localhost:8004/oss/fileoss", formData)
.then(response => { 

alert("头像上传成功!")
//将返回的图片url赋值给member
vm.member.avatar=response.data.data.url
})
}
}
})
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@PostMapping
public R uploadOssFile(MultipartFile file){ 

//获取文件
//返回上传文件路径
String url=ossService.uploadFileAvatar(file);
return R.ok().data("url",url);
}

FormData对象的详解,https://www.jianshu.com/p/e984c3619019

主要两步:

  • 使用@change和e.target.files[0],获取我们添加的文件,
  • new FormData();并且 formData.append(‘file’, file); 需要将文件条件到FormData()表单对象中,否则后端的MultipartFile 类型获取不到file对象,就会报出java.lang.NullPointerException。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184073.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月9日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
对话音视频牛哥:开发RTSP|RTMP直播播放器难不难?难在哪?
好多开发者跟我交流音视频相关技术的时候,经常问我的问题是,多久可以开发个商业级别的RTMP或RTSP播放器?你们是怎样做到毫秒级延迟的?为什么一个播放器,会被你们做到那么复杂?带着这些疑问,结合Windows平台RTMP、RTSP播放模块,探讨下我的一点心得,不当之处权当抛砖引玉:
音视频牛哥
2023/08/20
5840
对话音视频牛哥:开发RTSP|RTMP直播播放器难不难?难在哪?
低延迟播放超高分辨率(4K+)帧率(50帧+)RTSP|RTMP流技术探讨和实现
我们在对接RTSP、RTMP推拉流播放的时候,开发者提到这样的技术诉求,他们在用于安检等场景的时候,采集分辨率甚至需要4K+,帧率需要达到50帧以上,码率也非常高,这就对推流和播放模块,提出了更高的要求。
音视频牛哥
2024/07/15
3070
低延迟播放超高分辨率(4K+)帧率(50帧+)RTSP|RTMP流技术探讨和实现
Android平台下VR头显如何低延迟播放4K以上超高分辨率RTSP|RTMP流
VR头显需要更高的分辨率以提供更清晰的视觉体验、满足沉浸感的要求、适应透镜放大效应以及适应更广泛的可视角度,超高分辨率的优势如下:
音视频牛哥
2024/06/18
1310
Android平台下VR头显如何低延迟播放4K以上超高分辨率RTSP|RTMP流
多路RTSP转RTMP推送方案的两个选择
RTSP转RTMP推送到流媒体服务器,说起来技术实现不难,简单来说,获取RTSP流后,拿到未经解码的H.264/H.265和audio数据,重新打包RTMP发送出去即可。需要注意的是,大多RTSP转RTMP模块,需要长时间运行,所以,需要有好多错误处理和自动重连机制,确保转发模块的稳定性。以下是两个可选的技术方案:
音视频牛哥
2024/08/09
1970
多路RTSP转RTMP推送方案的两个选择
Windows平台RTSP播放器、RTMP播放器几点设计细节讨论
我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨:
音视频牛哥
2020/06/07
1.6K0
wpf下如何实现超低延迟的RTMP或RTSP播放
我们在做Windows平台RTMP和RTSP播放模块对接的时候,有开发者需要在wpf下调用,如果要在wpf下使用,只需要参考C#的对接demo即可,唯一不同的是,视频流数据显示的话,要么通过控件模式,要么可以让RTMP、RTSP播放模块回调rgb数据上来,在wpf直接绘制即可。
音视频牛哥
2024/04/10
5350
wpf下如何实现超低延迟的RTMP或RTSP播放
如何设计一款跨平台低延迟的RTMP/RTSP直播播放器
2015年,当我们试图在市面上找一款专供直播播放使用的低延迟播放器,来配合测试我们的RTMP推送模块使用时,居然发现没有一款好用的,市面上的,如VLC或Vitamio,说白了都是基于FFMPEG,在点播这块支持格式很多,也非常优异,但是直播这块,特别是RTMP,延迟要几秒钟,对如纯音频、纯视频播放,快速启播、网络异常状态处理、集成复杂度等各方面,支持非常差,而且因为功能强大,bug很多,除了行业内资深的开发者能驾驭,好多开发者甚至连编译整体环境,都要耗费很大的精力。
音视频牛哥
2020/02/08
3.1K0
QT下实现低延迟RTSP|RTMP播放器
好多开发者在QT环境下实现RTMP或RTSP播放时,首先考虑到的是集成VLC,集成后,却发现VLC在延迟、断网重连、稳定性等各个方面不尽人意,无法满足上线环境需求。本文以调用大牛直播SDK(官方)的Windows平台播放端SDK为例,介绍下如何在QT下实现低延迟的RTMP|RTSP播放器,废话不多说,先上图:
音视频牛哥
2021/04/30
1.9K0
RTSP播放器实现回调RGB|YUV给视觉算法,然后二次编码推送到RTMP服务
在本文中,我们将介绍如何基于大牛直播SDK构建一个功能强大的RTSP|RTMP播放器,该播放器利用自定义SDK解码视频、处理RGB帧,并将其推送到RTMP流中进行直播。这个解决方案非常适合需要在实时视频流中集成视觉算法的场景,在处理后将数据推送到RTMP服务器。我们将详细探讨播放器的架构、回调处理以及图像帧的操作过程。
音视频牛哥
2025/04/24
780
RTSP播放器实现回调RGB|YUV给视觉算法,然后二次编码推送到RTMP服务
Linux平台x86_64|aarch64架构RTSP|RTMP直播播放器开发实践
Linux(含x86_64架构和aarch64架构)的RTSP|RTMP直播播放SDK,是大牛直播SDK发布的一款用于Linux平台的视频播放器开发库,支持多种视频流协议,旨在提供低延时的流媒体播放和高质量的渲染。通过集成此SDK,开发者可以方便地在应用中实现视频播放功能。
音视频牛哥
2025/03/28
1050
Windows平台如何实现多路RTSP|RTMP流合成后录像或转发RTMP服务
我们在对接Windows平台RTSP|RTMP直播播放模块的时候,有开发者提出来这样的技术需求,他们做驾考、全景摄像头、多路会议录制等场景的时候,希望把多路视频流数据,合并到一路保存或者对外推送到RTMP服务。
音视频牛哥
2024/07/15
2640
Windows平台如何实现多路RTSP|RTMP流合成后录像或转发RTMP服务
Unity实现高性能多实例RTSP|RTMP播放器技术实践
废话不多说,先上实际测试时延,左侧用大牛直播SDK的Windows平台RTMP直播推送模块,采集毫秒计数器窗体,推RTMP到nginx服务器,右侧unity的播放器,播放RTMP流,同时四路播放,延迟如下:
音视频牛哥
2025/02/16
1020
Unity实现高性能多实例RTSP|RTMP播放器技术实践
Windows平台C#版RTSP转RTMP直播推送定制版
前几年我们发布了C++版的多路RTMP/RTSP转RTMP转发官方定制版。在秉承低延迟、灵活稳定、低资源占用的前提下,客户无需关注开发细节,只需图形化配置转发等各类参数,实现产品快速上线目的。
音视频牛哥
2024/05/19
1970
Windows平台C#版RTSP转RTMP直播推送定制版
D3D还是GDI? Windows平台播放RTSP或RTMP渲染模式比较
好多开发者纠结播放端绘制,是D3D还是GDI,先说结论,Windows平台播放渲染这块,支持D3D的前提下,优先D3D,如果检测到不支持D3D,数据回调上来,GDI模式绘制。
音视频牛哥
2020/06/20
1.3K0
Windows平台RTSP|RTMP播放器如何实现细粒度录像控制
好多开发者在跟我做技术交流的时候,说用大牛直播SDK模块的特点是,想到什么功能,找找头文件和demo几乎都有对应的实现,你们是何收集到这么多技术需求的?
音视频牛哥
2024/04/17
6830
Windows平台RTSP|RTMP播放器如何实现细粒度录像控制
如何在Unity3d实现多路RTSP或RTMP流播放
好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品,我们认为当前最好的方式就是集成现有Native平台上成熟稳定播放器,回调rgb/yuv数据到上层,上层做绘制即可。
音视频牛哥
2021/03/12
2.3K0
如何在Unity3d实现多路RTSP或RTMP流播放
Windows平台Unity下播放RTSP或RTMP如何开启硬解码?
我们在做Windows平台Unity播放RTMP或RTSP的时候,遇到这样的问题,比如展会、安防监控等场景下,需要同时播放多路RTMP或RTSP流,这样对设备性能,提出来更高的要求。
音视频牛哥
2023/08/25
5630
Windows平台Unity下播放RTSP或RTMP如何开启硬解码?
Linux平台Unity下RTMP|RTSP低延迟播放器技术实现
国产操作系统对于确保信息安全、促进技术创新、满足特定需求以及推动经济发展等方面都具有重要意义,多以Linux为基础二次开发。2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。
音视频牛哥
2024/04/27
1330
Linux平台Unity下RTMP|RTSP低延迟播放器技术实现
Unity平台如何实现RTSP转RTMP推送?
Unity平台下,RTSP、RTMP播放和RTMP推送,甚至包括轻量级RTSP服务这块都不再赘述,今天探讨的一位开发者提到的问题,如果在Unity下,实现RTSP播放的同时,随时转RTMP推送出去?
音视频牛哥
2023/07/14
2950
Unity平台如何实现RTSP转RTMP推送?
Windows平台基于RTMP实现一对一互动直播
基于 https://github.com/daniulive/SmarterStreaming/ 拉流端封装的代码:
音视频牛哥
2020/04/05
9490
推荐阅读
相关推荐
对话音视频牛哥:开发RTSP|RTMP直播播放器难不难?难在哪?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验