相思资源网 Design By www.200059.com
纸上谈坑
在我实现了这个功能之前,我讲讲我是怎么在这个坑里爬上来的:
我实现上传文件后端的接口的参数是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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
微信小程序,上传照片
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无微信小程序实现上传照片代码实例解析的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。