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


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 相关文章推荐
页面中iframe相互传值传参
Dec 13 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
May 12 Javascript
简单的JS轮播图代码
Jul 18 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
详解js的事件代理(委托)
Dec 22 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
完美解决手机网页中输入框被输入法遮挡的问题
Dec 19 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
Aug 04 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP 中文处理技巧
2010/04/25 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
2013/07/19 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python基于socket实现网络广播的方法
2015/04/29 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
基于python 字符编码的理解
2017/09/02 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
tensorflow 查看梯度方式
2020/02/04 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
医药代表个人求职信范本
2013/12/19 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
海上钢琴师观后感
2015/06/03 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript
SpringBoot集成Redis的思路详解
2021/10/16 Redis