第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

【備戰(zhàn)春招】第20天 Minio私有云保存照片文件

標(biāo)簽:
SpringBoot

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理

课程讲师: 神思者

课程内容:

一、编写持久层代码

因为上传成功照片之后,要更新医生表的photo字段值,所以要在DoctorDao.xml文件中,声明SQL语句。Phoenix更新数据不能用UPDATE语句(不支持),必须使用UPSERT INTO语句。

<update id="updatePhoto" parameterType="Map">

    UPSERT INTO HOSPITAL.DOCTOR("id", "photo")

    VALUES(${id}, #{photo})

</update>


com.example.hospital.api.db.daoDoctorDao接口中,声明抽象方法。

public interface DoctorDao {

    ……

    public void updatePhoto(Map param);

}

二、编写业务层代码

com.example.hospital.api.serviceDoctorService接口中,声明抽象方法。

public interface DoctorService {

    ……

    public void updatePhoto(MultipartFile file, Integer doctorId);

}


com.example.hospital.api.service.implDoctorServiceImpl类中,实现抽象方法。

@Service

@Slf4j

public class DoctorServiceImpl implements DoctorService {

    @Value("${minio.endpoint}")

    private String endpoint;


    @Value("${minio.access-key}")

    private String accessKey;


    @Value("${minio.secret-key}")

    private String secretKey;


    ……


    @Override

    @Transactional

    public void updatePhoto(MultipartFile file, Integer doctorId) {

        try {

            String filename = "doctor-" + doctorId + ".jpg";

            //在Minio中保存医生照片

            MinioClient client = new MinioClient.Builder().endpoint(endpoint)

                    .credentials(accessKey, secretKey).build();

            

            client.putObject(PutObjectArgs.builder().bucket("hospital")

                    .object("doctor/" + filename)

                    .stream(file.getInputStream(), -1, 5 * 1024 * 1024)

                    .contentType("image/jpeg").build());


            //更新医生表photo字段

            doctorDao.updatePhoto(new HashMap() {{

                put("id", doctorId);

                put("photo", "/doctor/" + filename);

            }});

        } catch (Exception e) {

            log.error("保存医生照片失败", e);

            throw new HospitalException("保存医生照片失败");

        }

    }

    

}

三、编写Web层代码

com.example.hospital.api.controllerDoctorController类中,声明Web方法。

@RestController

@RequestMapping("/doctor")

public class DoctorController {

    @PostMapping("/updatePhoto")

    @SaCheckLogin

    @SaCheckPermission(value = {"ROOT", "DOCTOR:UPDATE"}, mode = SaMode.OR)

    public R updatePhoto(@Param("file") MultipartFile file, @Param("doctorId") Integer doctorId) {

        doctorService.updatePhoto(file, doctorId);

        return R.ok();

    }

}


https://img1.sycdn.imooc.com//63fbf4570001debe17210875.jpg

课程收获:通过视频加文档结合的方式,学习了Minio私有云保存照片文件,期待后续学习!
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 1
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消