微信小程序实现上传照片代码实例解析


Posted in Javascript onAugust 04, 2020

纸上谈坑

在我实现了这个功能之前,我讲讲我是怎么在这个坑里爬上来的:

我实现上传文件后端的接口的参数是String类型的

前台传的参数:http://tmp/wx忽略很多字母数字.png

但由于这张是本地照片url(外网无法访问),我后台拿到的是一个String类型,是没有办法是去识别这是一张图片的,访问不了这个数据,仅仅把它当做字符串而已。(低级错误)

代码实现

前言:后端接受文件有2种方式(参数): 1. MultipartFile 2.base64

微信上传文件的开发文档

小程序代码

<!-- index.wxml -->
<view>
 <view>文件上传</view>
 <view>
  <input id="file" type="file" bindtap="uploader"></input>
 </view>
</view>


// index.js
Page({
 data: {
  
 },
 uploader: function () {
  wx.chooseImage({
   count: 1,
   success: function(res) {
    let imgPath = res.tempFilePaths[0]
    wx.uploadFile({
     url: 'http://localhost:8080/customerRegister/uploadPricture',
     filePath: imgPath,
     name: 'files',
     success:res=>{
      console.log(res)
     }
    })
   } 
  })
 },
})

java后端代码

@RequestMapping(value = "/customerRegister",produces = "application/json;charset=utf-8")
public class {

  @RequestMapping("/uploadPricture")
  @ResponseBody
  public String uploadPricture(@RequestParam("file") MultipartFile[] file) throws IOException {
    MultipartFile multipartFile = file[0];
    System.out.println("图片名称:"+multipartFile.getOriginalFilename());
    
    InputStream inputStream = multipartFile.getInputStream();
    return "{"mas":"ok"}";
  }

P.s. 注意:这是一个ssm项目,因此你需要在pom.xml中添加依赖和在springmvc.xml中添加以下代码(这个问题搞了我几个小时,因为少了上传文件的配置,就会导致multipartfile这个类失效)

<!--pom.xml 文件上传所需要的依赖-->
 <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
 </dependency> 
 <!--springmvc.xml-->
   <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->
   <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
     <property name="defaultEncoding" value="UTF-8"></property>
     <!-- 指定所上传的总大小不能超过1T。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件 -->
     <property name="maxUploadSize" value="10485760000" />
     <property name="maxInMemorySize" value="40960" />
   </bean>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
URL地址中的#符号使用说明
Feb 12 Javascript
jquery自定义属性(类型/属性值)
May 21 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
jquery判断复选框是否被选中的方法
Oct 16 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
Aug 14 Javascript
如何在CocosCreator里画个炫酷的雷达图
Apr 16 Javascript
JavaScript实现烟花绽放动画效果
Aug 04 #Javascript
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 #Javascript
解决vue addRoutes不生效问题
Aug 04 #Javascript
vue 解决addRoutes多次添加路由重复的操作
Aug 04 #Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
Aug 04 #Javascript
Jquery cookie插件实现原理代码解析
Aug 04 #jQuery
解决vue自定义指令导致的内存泄漏问题
Aug 04 #Javascript
You might like
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
解析Ubuntu下crontab命令的用法
2013/06/24 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
详解php用static方法的原因
2018/09/12 PHP
xmlHTTP实例
2006/10/24 Javascript
简单的JS多重继承示例
2008/03/13 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript中this详解
2015/09/01 Javascript
javascript时间差插件分享
2016/07/18 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
python实现从wind导入数据
2019/12/03 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python实现一个猜拳游戏
2020/04/05 Python
python实现程序重启和系统重启方式
2020/04/16 Python
PyQt5实现简单的计算器
2020/05/30 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
初任培训自我鉴定
2013/10/07 职场文书
校园歌咏比赛主持词
2014/03/18 职场文书
奥运会口号
2014/06/13 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL