小程序代码:
chooseImage(){
wx.chooseImage({
success: function (res) {
var tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: 'http://127.0.0.1:8080/xxxx', // 后台上传文件url
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test' //需要传入的其它参数给后台
},
success: function (res) {
var data = res.data
//do something
},fail:function(err){
console.log(err)
}
})
}
})
}
Java代码:
package com.core.controller;
import com.core.entity.Massage;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
/**
* @ClassName WxUploadController
* @Description 微信文件上传
* @Author PengKe
* @Wx VIP694046220
* @Date 2018/9/19 0019 20:45
* @Version 1.0
**/
@Controller
@RequestMapping(value = "wxUpload")
public class WxUploadController {
private static final Logger logger = LoggerFactory.getLogger(UploadController.class);
@RequestMapping("/upload")
public ModelAndView uploadImage(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println("文件上传!");
MultipartHttpServletRequest req =(MultipartHttpServletRequest)request;
PrintWriter out = response.getWriter();
Massage massage = new Massage();
MultipartFile multipartFile = req.getFile("file");
String uId = request.getParameter("uId");//这就是获取微信传过来的其它参数
String imgType = request.getParameter("imgType");
System.out.println(uId+"---"+imgType);
String realPath = request.getRealPath("/upload") + "/";
try {
File dir = new File(realPath);
if (!dir.exists()) {
dir.mkdir();
}
File file = new File(realPath,uId+"_"+imgType+".jpg");// 文件保存位置和文件名
multipartFile.transferTo(file);
massage.setCode(1);
massage.setDatas("");
massage.setMsg("上传成功");
} catch (IOException e) {
massage.setCode(0);
massage.setDatas(e);
massage.setMsg("上传失败");
e.printStackTrace();
} catch (IllegalStateException e) {
massage.setCode(0);
massage.setDatas(e);
massage.setMsg("上传失败!");
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.fromObject(massage);
out.print(jsonObject.toString());
out.close();
return null;
}
}
可以了~