IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> NXB发布动态功能 -> 正文阅读

[开发测试]NXB发布动态功能

交互

post方式,一个路径变量id,其他的所有属性都不传表单,而是单独传值(不是路径变量)
全部利用@RequestParam传值

@PostMapping("{id}")
public R pushinfo(@PathVariable Integer id , @RequestParam ("files") List<MultipartFile> files,
                   @RequestParam("info") String infomation,
                  @RequestParam("tag") String tag,
                  @RequestParam("location") String location){

文件单独存储

    String filePath = "D:\\NXBfiles\\";//文件存储路径

    for(MultipartFile f : files) {//对每个文件进行存储


        String ss = f.getOriginalFilename().split("\\.")[1];//拿到文件格式,如png jpg

        pushInfo.setFileName(System.currentTimeMillis()+"." + ss);//计数器+1
        //当前时间戳 + 后缀   保证不会冲突
        File dest = new File(filePath,pushInfo.getFileName());//最终存储的文件

        try {
            f.transferTo(dest);//把读到内存中的文件转移到dest去
        } catch (IOException e) {
            e.printStackTrace();
             r.setFlag(false);
    //不用setMsg,因为拦截器会处理
            return r;//出异常直接返回
        }
    }

文件名设计

当前时间+后缀,千万不能在实体类中定义static int count,因此每次运行的count都是从0开始了

数据库设计

id不能为空,并且ID不能为主键,否则同一个ID只能存储一次

时间自动创建

postman测试

数据库内容

控制层源码

@RestController
@RequestMapping("pushinfo")
public class PushInfoController {
    @Autowired
    IMPPushInfoService impPushInfoService;

    //发布内容
    @PostMapping("{id}")
    public R pushinfo(@PathVariable Integer id , @RequestParam ("files") List<MultipartFile> files,
                       @RequestParam("info") String infomation,
                      @RequestParam("tag") String tag,
                      @RequestParam("location") String location){
        //千万不能给PushInfo加@RequestBody
//从路径获取id,根据主键id存储;获取多条上传的文件list;获取PushInfo对象
        PushInfo pushInfo = new PushInfo();
        pushInfo.setId(id);
        pushInfo.setInfomation(infomation);
        pushInfo.setTag(tag);
        pushInfo.setLocation(location);
         long l = System.currentTimeMillis();
    String s = Long.toString(l);
    pushInfo.setPushinfoid(s);//根据当前时间生成唯一一个发布的动态的id
        R r = new R();
//        if(files.isEmpty()) {
//            r.setMsg("未上传图片");
//        }

        String filePath = "D:\\NXBfiles\\";//文件存储路径

        for(MultipartFile f : files) {//对每个文件进行存储


            String ss = f.getOriginalFilename().split("\\.")[1];//拿到文件格式,如png jpg

            pushInfo.setFileName(System.currentTimeMillis()+"." + ss);//计数器+1
            //当前时间戳 + 后缀   保证不会冲突
            File dest = new File(filePath,pushInfo.getFileName());//最终存储的文件

            try {
                f.transferTo(dest);//把读到内存中的文件转移到dest去
            } catch (IOException e) {
                e.printStackTrace();
                 r.setFlag(false);
        //不用setMsg,因为拦截器会处理
                return r;//出异常直接返回
            }
        }

        r.setFlag(impPushInfoService.save(pushInfo));

        if(r.getFlag()==true) {
            r.setMsg("已发布");
            r.setData(pushInfo);//包括了从前端传来的位置,标签,信息内容
        }else{
            r.setMsg("发布失败");
        }
/*
* 这里设置的fileName属性是一个唯一的,相对的路径
* 所以在取的时候,也需要相对取
* */
return r;

    }




}
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:19:58  更:2022-02-04 11:20:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:39:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码