文件上传
文件上传
2、后端页面
Service层
@Service
public class UploadFileServiceImpl implements UploadFileService {
@Override
public String uploadfile(MultipartFile multipartFile, String str) throws IOException {
String originalFilename = multipartFile.getOriginalFilename();
String imgSuffix = originalFilename.substring(originalFilename.lastIndexOf("."));
String newFilename= UUID.randomUUID().toString()+imgSuffix;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String datePath = dateFormat.format(new Date());
File targetFile = new File("D://LJH/" + str+"/"+datePath);
if (!targetFile.exists())
targetFile.mkdirs();
File file = new File(targetFile, newFilename);
multipartFile.transferTo(file);
return "http://localhost:8080/upload/"+str+"/"+datePath+"/"+newFilename;
}
}
controller层
@PostMapping("/upload")
@ResponseBody
public String Upload(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) throws IOException {
if (multipartFile.isEmpty())
return "文件为空";
String str=request.getParameter("dir");
return uploadFileService.uploadfile(multipartFile,str);
}
OSS
public String OssUpload(MultipartFile multipartFile) throws IOException {
// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
String endpoint = "oss-cn-hangzhou.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "LTAI5tRHjXo6cYh9XyfPcWwF";
String accessKeySecret = "VzAx9ccw5BwFunu9CIByVAAJBHCMdJ";
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String backetName="demo";
//如果桶不存在,动态创建桶
if(!ossClient.doesBucketExist(backetName)){
//创建bucket
ossClient.createBucket(backetName);
//设置oss实例的访问权限,公共读
ossClient.setBucketAcl(backetName, CannedAccessControlList.PublicRead);
}
InputStream inputStream = multipartFile.getInputStream();
String originalFilename = multipartFile.getOriginalFilename();
String imgSuffix = originalFilename.substring(originalFilename.lastIndexOf("."));
String newFilename= UUID.randomUUID().toString()+imgSuffix;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String datePath = dateFormat.format(new Date());
String fileUrl=datePath+"/"+newFilename;
PutObjectRequest putObjectRequest = new PutObjectRequest(backetName, fileUrl, inputStream);
ossClient.putObject(putObjectRequest);
ossClient.shutdown();
return "https://"+backetName+"."+endpoint+"/"+fileUrl;
}
WangEditor
controller层
@PostMapping("/wangeditor")
@ResponseBody
public Map wangeditor(@RequestParam("file")MultipartFile multipartFile, HttpServletRequest request) throws IOException {
if (multipartFile.isEmpty())
return null;
String str=request.getParameter("dir");
//return uploadFileService.uploadfile(multipartFile,str);
HashMap map = new HashMap<>();
map.put("url",ossService.OssUpload(multipartFile));
return map;
}
前端页面
WangEditor
欢迎使用 wangEditor 富文本编辑器



