Java IO流阿里云OSS上传照片
声明:这个为我个人原创 我没有copy别人的代码 但我看他们写的代码块都是一致的 连错误都是 很容易误导别人 我写代码的时候一直想不通 后面解决之后 就想自己写一个给遇到有相同问题的小伙伴扩散一下思维
-好了 说下我的代码 是从前端request请求过来到我后端controller层这边
你可以先打个断点 debug一下 看你的request请求过来的文件是什么类型 我就是这里被其他博客的误导了 当时一直强转报错 就很纳闷 然后我自己Debug去找原因 原来是接收的类型应该是你request请求过来的类型 接着取出file给Iterator 因为可能是多张照片上传 单张的话while就只循环一次 我把jar包都贴最上面
-controller层
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.Iterator;
import java.util.Map;
/**
* @author:Dylan
* @date: 2020/4/7
* @time: 14:48
* @desc: 工作台
*/
@Controller
@RequestMapping("/test/dylanName/")
public class DylanNameController{
/**
* 客户信息-头像上传
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value = "saveCustomerFile", method = RequestMethod.POST)
public Map saveCustomerFile(HttpServletRequest request) {
Map map = new HashMap();
//"此处对应要转换成 你request传递过来的文件类型,否则没法获取multifile对象请注意"
MultipartHttpServletRequest httpServletRequest = (MultipartHttpServletRequest) request;
Iterator<String> iterator = httpServletRequest.getFileNames();
while (iterator.hasNext()) {
MultipartFile files = httpServletRequest.getFile(iterator.next());
map = new AliyunOSS().saveDTAliyunFile(files, AliyunUploadAddress