微信小程序上传照片

这两天在做小程序练习,遇到的问题记录如下:

1、照片上传:后台语言java

小程序端代码

页面

 

人员信息

*门头照1:

*门头照2:

姓名:

电话:

职位:

js部分

chooseImage2: function (e) {

var that = this;

wx.chooseImage({

sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有

sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有

success: function (res) {

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片

wx.uploadFile({

url: 'http://127.0.0.1:8080/uploadtest/api/duty/upload.action',//此处域名为假域名,根据自己项目替换

filePath: res.tempFilePaths[0],

name: 'file',

formData:{

'name':'123测试'

},

success: function (res) {

var data = res.data

console.log(data);

}

});

that.setData({

img2s: that.data.img2s.concat(res.tempFilePaths)

});

}

})

}

java代码

@ResponseBody
    @RequestMapping("/upload")
    public String upload(HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file) throws IOException {
        System.out.println("执行upload");
        request.setCharacterEncoding("UTF-8");
        logger.info("执行图片上传");
        String user = request.getParameter("user");
        logger.info("user:"+user);
        String path = null;
        if(!file.isEmpty()) {
            logger.info("成功获取照片");
            String fileName = file.getOriginalFilename();
            String type = null;
            type = fileName.indexOf(".") != -1 ? fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()) : null;
            logger.info("图片初始名称为:" + fileName + " 类型为:" + type);
            if (type != null) {
                if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) {
                    // 项目在容器中实际发布运行的根路径
                    String realPath = request.getSession().getServletContext().getRealPath("/");
                    // 自定义的文件名称
                    String trueFileName = String.valueOf(System.currentTimeMillis()) + fileName;
                    // 设置存放图片文件的路径
                    path = realPath + trueFileName;
                    logger.info("存放图片文件的路径:" + path);
                    file.transferTo(new File(path));
                    logger.info("文件成功上传到指定目录下");
                }else {
                    logger.info("不是我们想要的文件类型,请按要求重新上传");
                    return "error";
                }
            }else {
                logger.info("文件类型为空");
                return "error";
            }
        }else {
            logger.info("没有找到相对应的文件");
            return "error";
        }
        return path;
    }

 

//此java代码为网友提供,昨天看到的  由于链接丢了,不好意思  没有备注原创。

你可能感兴趣的:(微信小程序上传照片)