本文共 4673 字,大约阅读时间需要 15 分钟。
本系统通过阿里云OSS(Object Storage Service)实现文件上传、管理及删除功能,支持图片上传、新增、修改及批量删除操作。系统采用Vue.js前端框架与Spring Boot后端框架搭建,实现了用户友好的操作界面和高效的文件管理功能。
https://jjjqqq.oss-cn-beijing.aliyuncs.com/LTAI4Fzm3c6EmUexCHLvZNcmb8OrjTpYWW3sZSlimy4sxr2WJuNX09photo/@RestController@RequestMapping("/file")public class FileController { // 阿里云OSS配置 private static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com"; private static final String ACCESS_KEY_ID = "LTAI4Fzm3c6EmUexCHLvZNcm"; private static final String ACCESS_KEY_SECRET = "b8OrjTpYWW3sZSlimy4sxr2WJuNX09"; private static final String BACKET_NAME = "jjjqqq"; private static final String FOLDER = "photo/"; private static final String URl = "https://jjjqqq.oss-cn-beijing.aliyuncs.com/"; @CrossOrigin @RequestMapping("uploadPhoto") public Map uploadPhoto(MultipartFile file) { Map map = new HashMap<>(); OSSClient ossClient = null; InputStream inputStream = null; try { ossClient = new OSSClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET); String filename = file.getOriginalFilename(); String suffix = filename.substring(filename.lastIndexOf(".")); String newFileName = UUID.randomUUID().toString() + suffix; inputStream = file.getInputStream(); ossClient.putObject(BACKET_NAME, FOLDER + newFileName, inputStream); map.put("filePath", URl + FOLDER + newFileName); } catch (Exception e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (ossClient != null) { ossClient.shutdown(); } } return map; }} export default { data() { return { tableData: [], multipleSelection: [], dialogFormVisible: false, form: { photo: "" }, total: 0, currentPage: 1, pageSize: 5 } }, methods: { queryDrug() { this.$axios.get("http://localhost:8080/drug/queryDrug", { params: { currentPage: this.currentPage, pageSize: this.pageSize } }).then(response => { this.tableData = response.data.list; this.total = response.data.total; }); }, handleAvatarSuccess(res) { this.form.photo = res.filePath; }, beforeAvatarUpload(file) { const isJPG = file.type === 'image/jpeg'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) { this.$message.error('图片格式错误,仅支持JPG!'); } if (!isLt2M) { this.$message.error('图片大小超出限制,建议不超过2MB!'); } return isJPG && isLt2M; } }} public class OSSUtil { private static final String ENDPOINT = "oss-cn-beijing.aliyuncs.com"; private static final String ACCESS_KEY_ID = "LTAI4Fzm3c6EmUexCHLvZNcm"; private static final String ACCESS_KEY_SECRET = "b8OrjTpYWW3sZSlimy4sxr2WJuNX09"; private static final String BACKET_NAME = "jjjqqq"; private static final String FOLDER = "photo/"; private static final String URl = "https://jjjqqq.oss-cn-beijing.aliyuncs.com/"; public static void deleteFile(String fileName) { OSSClient ossClient = new OSSClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET); String replaceName = fileName.replace(URl, ""); ossClient.deleteObject(BACKET_NAME, replaceName); ossClient.shutdown(); }} 本系统通过结合前端与后端技术,实现了阿里云OSS文件管理功能,具备易用性和扩展性,适合需要高效文件管理的应用场景。
转载地址:http://jpljz.baihongyu.com/