java服务器端,接受微信小程序上传图片

6月初的时候,公司开发微信小程序,微信端是其他同事负责,我只负责服务器端;
当时因为前同事开发了一个月没有任何效果走人了,所以时间比较紧,由我独自开发,且要保证工期,不过自认为压力不大;
可是当开始写上传图片功能时,遇到了问题;
先说一般web项目

	@Deprecated
	@RequestMapping("/upload1")
	public void upload1(HttpServletResponse resp,  MultipartFile[] files){
		//平时我们都是这样获取文件的;可是小程序上传的图片,这样完全收不到; 
	}
	
	//然后各种查询,各种翻资料,找不到解决方案,最后还是在官方文档里翻到了解决方案,(已经忘记当时在哪翻到的了)
	@PostMapping("upload")
	public String upload(HttpServletRequest request,@RequestParam(value = "file") MultipartFile file){
		// 就是这么简单...这样就可以接受到 小程序上传的图片了;
		String path = photoSave(file); // 这个方法返回当前图片的储存路径;
	}

下面将我的储存代码也写上来,如有不足请指出;

	/**
	 *  	将一张图片储存
	 * @param file  MultipartFile 类型的文件
	 * @return	    返回文件的储存路径
	 */
	public static String photoSave(MultipartFile file) {
		String photoName = null;
		String fileName = file.getOriginalFilename();
		String typeName = "";
		// 下面判断这个图片的名字长度,以及是否有 后缀(.jpg这种);
		if (fileName != null && fileName.length() > 4) {
			int last = fileName.lastIndexOf(".");
			String str = "";
			if (last != -1) {
				str = fileName.substring(last);
			}
			// 这里自己生成图片名,然后再加上 上面截取到的 图片后缀  str
			photoName = "xxxxxxxx" + str;
			try {
				// 将图片储存到 硬盘 "D:/photo/" 位置
				file.transferTo(new File("D:/photo/" + photoName));
			} catch (IllegalStateException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return "D:/photo/" + photoName;
	}

返回的路径,可以自己修改为 通过服务器的访问路径,比如储存的位置修改到 webapps 下的photo,
返回的路径改为: localhost:8080/photo/xxxxxxxx.jpg;

如有不足请指出,谢谢

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值