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


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 相关文章推荐
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
Jan 04 Javascript
jquery根据一个值来选中select下的option实例代码
Aug 29 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
Sep 18 Javascript
微信小程序 Record API详解及实例代码
Sep 30 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
Dec 13 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
微信小程序合法域名配置方法
May 06 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
Vue基础配置讲解
Nov 29 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
Dec 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实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
浅析php创建者模式
2014/11/25 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
validator验证控件使用代码
2010/11/23 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
2015/09/26 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python实现各进制转换的总结大全
2017/06/18 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
python生成带有表格的图片实例
2019/02/03 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
八一建军节感言
2014/02/28 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
跑吧孩子观后感
2015/06/10 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
vue自定义右键菜单之全局实现
2022/04/09 Vue.js