package com.mindskip.xzs.controller.student; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; import com.mindskip.xzs.service.FileUpload; import com.mindskip.xzs.service.UserService; import com.mindskip.xzs.utility.minio.AwsMinIoUtil; import com.mindskip.xzs.utility.oss.AmazoneS3; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @RequestMapping("/api/student/upload") @RestController("StudentUploadController") public class UploadController extends BaseApiController { private final FileUpload fileUpload; private final UserService userService; @Autowired public UploadController(FileUpload fileUpload, UserService userService) { this.fileUpload = fileUpload; this.userService = userService; } @RequestMapping("/image") @ResponseBody public RestResponse questionUploadAndReadExcel(HttpServletRequest request) throws IOException { MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartHttpServletRequest.getFile("file"); AwsMinIoUtil awsUtil = new AwsMinIoUtil(); String path = awsUtil.upload(multipartFile.getInputStream(), multipartFile); userService.changePicture(getCurrentUser(), AwsMinIoUtil.getEndpoint() + "/" + AwsMinIoUtil.getBucket() + "/" + path); return RestResponse.ok(AwsMinIoUtil.getEndpoint() + "/" + AwsMinIoUtil.getBucket() + "/" + path); // long attachSize = multipartFile.getSize(); // String imgName = multipartFile.getOriginalFilename(); // try (InputStream inputStream = multipartFile.getInputStream()) { // String filePath = fileUpload.uploadFile(inputStream, attachSize, imgName); // userService.changePicture(getCurrentUser(), filePath); // return RestResponse.ok(filePath); // } catch (IOException e) { // return RestResponse.fail(2, e.getMessage()); // } } }