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


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 相关文章推荐
struts2 jquery 打造无限层次的树
Oct 23 Javascript
AngularJS基础学习笔记之指令
May 10 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
Dec 27 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
Element Input组件分析小结
Oct 11 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
JavaScript:ES2019 的新特性(译)
Aug 08 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
Mar 09 Javascript
vue 页面跳转的实现方式
Jan 12 Vue.js
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
模拟xcopy的函数
2006/10/09 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
JavaScript Event学习第二章 Event浏览器兼容性
2010/02/07 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python数据结构树和二叉树简介
2014/04/29 Python
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
详细解析Python当中的数据类型和变量
2015/04/25 Python
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
Python跳出多重循环的方法示例
2019/07/03 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
库房主管岗位职责
2013/12/31 职场文书
领导检查欢迎词
2014/01/14 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
八一建军节演讲稿
2014/09/10 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
环保宣传语大全
2015/07/13 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL