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


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 相关文章推荐
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
jquery获取checkbox的值并post提交
Jan 14 Javascript
jQuery操作Table技巧大汇总
Jan 23 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
谈谈因Vue.js引发关于getter和setter的思考
Dec 02 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
详解nginx配置vue h5 history去除#号
Nov 09 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入门基础之php代码写法
2011/12/30 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
python服务器端收发请求的实现代码
2014/09/29 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python在不同条件下的输入与输出
2020/02/13 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
会计专业求职信范文
2014/03/16 职场文书
开工仪式主持词
2014/03/20 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Pandas加速代码之避免使用for循环
2021/05/30 Python
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript