本次在使用uni.uplodFile()上传图片时,遇到丢失后缀名导致后台服务器无法解析的问题,特此记录

首先放上解决问题前后对比图

  • 解决前:formdata filename属性无后缀

  • 解决后,filename参数已有后缀,并且为文件名:

问题如下:

  • 当使用uni-file-picker组件上传图片时,formdata中的filename丢失后缀名,导致后台服务器返回的url无后缀名,图片无法正常显示的问题
<uni-file-picker file-extname="jpg,jpeg,png" mode="grid" :auto-upload="false" title="上传图片(选填)" :limit="5" file-mediatype="image" @select="handleSelectImage">
</uni-file-picker>
.../**
* @description :上传文件文件回调
* */handleSelectImage(files){console.log('select........',files)console.log(this.forms.images)files.tempFiles.map(imgItem =>{console.log(imgItem)let formdata = new FormData()formdata.append(imgItem.name,imgItem.file)console.log(formdata)uni.uploadFile({url:'/api/uploadAvatar?sessionId='+uni.getStorageSync('sessionId'),method:'POST',formaData:formdata,success:(res)=> {console.log(res,JSON.parse(res.data))let data = JSON.parse(res.data)console.log('添加前:  ',this.forms.images)this.forms.images = [...this.forms.images,data.data.url]    console.log('添加后:  ',this.forms.images,data.data.url)}})})}

原因: uni.uploadFile()漏掉了2个必填项:


如官网所示,

  • name:文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
  • filePath:要上传文件资源的路径。
  • 更多配置见官方文档:uni.uploadFile官方文档
handleSelectImage(files){console.log('select........',files)console.log(this.forms.images)files.tempFiles.map(imgItem =>{console.log(imgItem)let formdata = new FormData()formdata.append(imgItem.name,imgItem.file)console.log(formdata)uni.uploadFile({url:'/api/uploadAvatar?sessionId='+uni.getStorageSync('sessionId'),method:'POST',name:'file',  // 必填项filePath:imgItem.url, //必填项formaData:formdata,success:(res)=> {console.log(res,JSON.parse(res.data))let data = JSON.parse(res.data)console.log('添加前:  ',this.forms.images)this.forms.images = [...this.forms.images,data.data.url]console.log('添加后:  ',this.forms.images,data.data.url)}})})
}
  • filePath参数:

来自 @select选择文件后的回调参数tempFiles的tempFiles数组中每一个文件对象的url属性

  • name参数

默认是字符串"file"

解决uni-uploadFile上传图片丢失后缀名的问题相关推荐

  1. uniapp云开发uniCloud.uploadFile上传图片文件后缀名丢失

    原因简述:cloudPath属性写的不对 基于uniCloud云开发,实现上传图片功能,发现能正常上传,但是上传的图片会是这种格式,没有后缀名:https://vkceyugu.cdn.bspapp. ...

  2. uni-app uni.uploadFile上传图片前后端(java)详解

    近日在使用uni.uploadFile上传图片时,碰到后端收到不到文件的问题,网上没有写uni-app java后端的处理实例,小程序到是有很多,但都是单文件上传,即使是多文件上传,也是采用一个for ...

  3. mysql如何处理图片吗_如何解决mysql插入图片后缀名问题?

    inventory是库存 里边包括pic这个字段,现在要是先从inventory把图片选择出来,并插入record的pic中,但是插入之后图片的后缀名(jpg)没有了?如何解决?? 下面这个是inve ...

  4. struts2接收文件全是后缀名tmp解决办法

    有个朋友之前一直用SSM,后来用SSH开发项目,遇到一个问题 在struts2接收上传文件的时候,发现所有接收的文件不对,后缀名还都是.tmp的,其实这个解决办法太简单. 文件确实都已经上传上来了.S ...

  5. Windows10文件后缀名不显示·解决方法

    Windows10文件后缀名不显示·解决方法 第一步:Windows+E组合键(即打开此电脑) 第二步:勾选文件扩展名 第一步:Windows+E组合键(即打开此电脑) Windows+E组合键(即打 ...

  6. vue 打包后,后缀名为.woff等字体问题不能用解决办法

    vue 打包后,后缀名为.woff等字体问题不能用解决办法 参考文章: (1)vue 打包后,后缀名为.woff等字体问题不能用解决办法 (2)https://www.cnblogs.com/mogu ...

  7. Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施

    Mac打不开后缀名为txt文件,显示文本编码中文不适用的解决措施 问题: 未能打开文稿".txt".文本编码中文(GB 18030)不适用 解决措施: 1.打开文本编辑器的偏好设置 ...

  8. 文件夹图标后缀名变成.ink的解决办法

    问题描述 文件夹甚至是我的电脑的后缀名变成.ink,导致用户无法打开文件夹或我的电脑. 问题分析 用户操作失误修改文件夹或我的电脑扩展名: 后台木马程序恶意修改. 解决办法 开始>运行>输 ...

  9. 计算机名称更改不生效,修改文件后缀名无效怎么办?Win7系统修改文件扩展名无效的解决方法...

    我们经常需要在电脑中修改文件后缀名,而这些文件仅仅是通过后缀名来分别它们的不同.如果我们修改文件的后缀名发现无效,并没有修改为其它的格式,那么说明系统中文件的后缀名没有显示,我们需要将其显示再去修改. ...

最新文章

  1. Nreal招聘|SLAM、深度学习、服务器开发工程师等岗位(校招/社招)
  2. css 解决fixed 布局下不能滚动的问题
  3. Python相对、绝对导入浅析
  4. 零基础代理神器allproxy
  5. C# ref跟out
  6. pjsua帮助手册(中文)
  7. Android应用中使用及实现系统“分享”接口
  8. centos7.6内核升级
  9. 移动机器人MPC控制仿真实现
  10. win10桌面管理文件收纳_win10系统关闭桌面文件收纳盒的详细方法介绍
  11. 部分软件免管理员权限安装
  12. 中国有机菠萝汁行业市场供需与战略研究报告
  13. 【全套攻略】关于建站、服务器、云虚拟主机你想知道的都在这里!
  14. ceac计算机考试试题,计算机ceac考试复习题12套.doc
  15. 查找某款app的企业旗下其他app
  16. 虚幻引擎 Unreal Engine 详细笔记 根据谌嘉诚视频无遗漏总结 快速上手
  17. 算法篇:1、算法起源
  18. 希尔排序(详解与代码)
  19. php启动,重启,关闭命令
  20. linux arm关闭光栅,基于Linux的光栅检测系统的软件设计与实现.pdf

热门文章

  1. APA系统中超声波雷达的安装调试使用说明
  2. matlab画根轨迹的渐近线,根轨迹的渐近线.ppt
  3. 惠普服务器安装usb系统安装win7系统,惠普ProOne 600装win7系统教程(含BIOS设置USB驱动)...
  4. My shortcomings | 我的不足
  5. 建立时间和保持时间概念
  6. matlab 图像 局部极值,[转载]matlab 图像局部求极值
  7. uefi模式装gho格式系统失败的原因
  8. C语言-------如何打印保留小数点后1,2,..位
  9. linux查询服务器品牌命令,查看linux服务器的品牌和型号
  10. 【软考系统架构设计师】复盘架构设计师真题知识点第八章---Web架构设计