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


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 相关文章推荐
点击下载链接 弹出页面实现代码
Oct 01 Javascript
关于jQuery object and DOM element
Apr 15 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
JS实现黑客帝国文字下落效果
Sep 01 Javascript
Javascript中的迭代、归并方法详解
Jun 14 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
React学习笔记之条件渲染(一)
Jul 02 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
ajax跨域访问遇到的问题及解决方案
May 23 Javascript
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
前端监听websocket消息并实时弹出(实例代码)
Nov 27 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巧获服务器端信息
2006/12/06 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
PHP错误处理函数
2016/04/03 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
可插入图片的TEXT文本框
2013/12/27 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
python多线程用法实例详解
2015/01/15 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
python最长回文串算法
2018/06/04 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
介绍一些UNIX常用简单命令
2014/11/11 面试题
劳动模范事迹材料
2014/01/19 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
社保转移委托书范本
2014/10/08 职场文书
2014年德育工作总结
2014/11/20 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android