牛客网中级项目学习(二) 新增新闻

上传图片
一、post方法上传图片到服务器本地,返回UUID的string字符串,形成URl,浏览器可以输入127.0.0.1 + UUID生成的string 组成URL,后台会传回给浏览器response,带有图片的二进制流。浏览器的response中就可以看到接收的图片二进制流,显示出来。fiddler可以通过代理的方式,把网络的底层全部拦截下来
二、上传到七牛云,做云存储
优势:图片做单独的服务器
cdn内容分发网络,内容分发到各个节点,能够更快的访问静态文件。
云可以做实时缩图和实时切图。
七牛云上传图片直接写成一个service,如果要更换云服务商,如阿里云,可以直接改service就行。

用postman调试,http post方法,提交图片地址,新闻的标题和链接。
牛客网中级项目学习(二) 新增新闻_第1张图片

在数据库中会新增一行新闻的数据

代码如下

@RequestMapping(path = {"/user/addNews/"}, method = {RequestMethod.POST})
    @ResponseBody
    public String addNews(@RequestParam("image") String image,
                          @RequestParam("title") String title,
                          @RequestParam("link") String link){
        try {
            News news = new News();
            news.setCreatedDate(new Date());
            news.setTitle(title);
            news.setLink(link);
            news.setImage(image);
            if (hostHolder != null){
                news.setUserId(hostHolder.getUsers().getId());
            }
            else {
                //设置一个匿名用户
                news.setUserId(2);
            }
            newsService.addNews(news);
            return ToutiaoUtil.getJSONString(0);
        } catch (Exception e) {
            logger.error("添加资讯失败", e.getMessage());
            return ToutiaoUtil.getJSONString(1, "发布失败");
        }

    }

你可能感兴趣的:(java,web)