学成在线--26.课程图片管理(图片删除)
文章目錄
- 一. 需求分析
- 二. API
- 三. 服務端開發
- 1. Dao
- 2. Service
- 3. Controller
- 四. 前端開發
- 1. API方法
- 2. 頁面
- 1.before-remove鉤子方法
- 2.handleRemove鉤子方法
一. 需求分析
課程圖片上傳成功后,可以重新上傳,方法是先刪除現有圖片再上傳新圖片;
注意:此刪除只刪除課程數據庫的課程圖片信息,不去刪除文件數據庫的文件信息及文件系統服務器上的文件;
由于課程圖片來源于該用戶的文件數據庫,所以此圖片可能存在多個地方共用的情況,所以要刪除文件系統中的文件需要到圖片庫由用戶確認后再刪除。
二. API
在課程管理服務添加刪除課程圖片api:
文件位置:xcEduService01\xc-service-api\src\main\java\com\xuecheng\api\course\CourseControllerApi.java
@ApiOperation("刪除課程圖片") public ResponseResult deleteCoursePic(String courseId);三. 服務端開發
1. Dao
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\dao\ CoursePicRepository.java
public interface CoursePicRepository extends JpaRepository<CoursePic,String> {//當返回值大于0,表示刪除成功的記錄數long deleteByCourseid(String courseId); }2. Service
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\service\ CourseService.java
//刪除課程圖片 @Transactional public ResponseResult deleteCoursePic(String courseId) {//執行刪除long result = coursePicRepository.deleteByCourseid(courseId);if(result>0){return new ResponseResult(CommonCode.SUCCESS);}return new ResponseResult(CommonCode.FAIL); }3. Controller
文件位置:xcEduService01\xc-service-manage-course\src\main\java\com\xuecheng\manage_course\controller\ CourseController.java
@Override @DeleteMapping("/coursepic/delete") public ResponseResult deleteCoursePic(@RequestParam("courseId") String courseId) {return courseService.deleteCoursePic(courseId); }四. 前端開發
1. API方法
文件位置:xc-ui-pc-teach\src\module\course\api\course.js
//刪除課程圖片 export const deleteCoursePic= courseId => {return http.requestDelete(apiUrl+'/course/coursepic/delete?courseId='+courseId) }2. 頁面
文件位置:xc-ui-pc-teach\src\module\course\page\course_manage\course_picture.vue
1.before-remove鉤子方法
在upload組件的before-remove鉤子方法 中實現刪除動作。
<template><div><el-uploadaction="/api/filesystem/upload"list-type="picture-card":before-upload="setuploaddata":on-success="handleSuccess":file-list="fileList":limit="picmax":on-exceed="rejectupload":before-remove="handleRemove":data="uploadval"name="multipartFile"><i class="el-icon-plus"></i></el-upload></div> </template>2.handleRemove鉤子方法
//刪除圖片handleRemove(file, fileList) {console.log(file)return new Promise((resolve,reject)=>{courseApi.deleteCoursePic(this.courseid).then(res=>{if(res.success){//成功resolve();}else{this.$message.error("刪除失敗");//失敗reject();}})})//調用服務端去刪除課程圖片信息,如果返回false,前端停止刪除//異步調用 /* return new Promise((resolve,rejct)=>{courseApi.deleteCoursePic(this.courseid).then(res=>{if(res.success){//成功resolve()}else{this.$message.error("刪除失敗");//失敗rejct()}})})*/}, 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的学成在线--26.课程图片管理(图片删除)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb不同用户需要几张表_程序员
- 下一篇: Windows下使用CMD下载网络文件