OSS的简单使用

1 篇文章 0 订阅
订阅专栏

OSS的开通 + 创建存储空间

首先到 阿里云对象存储OSS官网开通对象存储OSS服务。

然后在阿里云首页点击控制台
在这里插入图片描述

然后点击对象存储OSS。
在这里插入图片描述

点击创建Bucket。
在这里插入图片描述

创建Bucket。
注意:这里的读写权限改为公共读。因为是简单的使用OSS,所以大部分都是默认的。

Bucket命名规则
Bucket名称在OSS范围内必须全局唯一。
只能包括小写字母、数字和短划线(-)。
必须以小写字母或者数字开头和结尾。
长度为3~63个字符。

在这里插入图片描述

上传文件。
在这里插入图片描述

先扫描文件或者是将文件拖入框中,完成之后点击上传文件。
在这里插入图片描述

下面就是上传成功后的结果。
在这里插入图片描述

使用Java向OSS中存储图片

Java操作OSS的SDK示例

导入依赖

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.15.0</version>
</dependency>

编写测试用例

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
@SpringBootTest
class OssApplicationTests {
 	@Test
    void uploadOSS() {
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "https://oss-cn-beijing.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessKeyId = "***";
        String accessKeySecret = "***";
        // 填写Bucket名称,例如examplebucket。
        String bucketName = "tests-bucket-2022";

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String format = simpleDateFormat.format(new Date()) + "/";

        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
        String objectName = format + UUID.randomUUID() + ".png";
        // 填写本地文件的完整路径,例如D:\\localpath\\examplefile.txt。
        // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        String filePath= "E:\\笔记\\软件测试\\image\\_01.png";
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        try {
            InputStream inputStream = new FileInputStream(filePath);
            // 创建PutObject请求。
            ossClient.putObject(bucketName, objectName, inputStream);
        } catch (OSSException oe) {

        } catch (ClientException ce) {

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

我们可以发现上传成功!
在这里插入图片描述

使用SpringBoot+Vue+Element-ui实现图片的上传

后端

该功能后端的目录结构
在这里插入图片描述

sql语句

CREATE TABLE `pic`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `url` varchar(255)  NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) 

导入依赖

<dependencies>
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.15.0</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
	<!-- 数据源 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.2.8</version>
    </dependency>
	<!-- mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.2</version>
    </dependency>
	<!-- mysql驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
	<!-- 小辣椒 -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

application.properties的配置

# mysql的相关配置
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/csdn
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# mybatis配置
mybatis.mapper-locations=classpath:com/zhang/mapper/*.xml
mybatis.type-aliases-package=com.zhang.entity
# 打印sql语句
logging.level.com.zhang=debug

实体类

@Data
public class Picture {
    private Integer id;
    private String url;
}

dao层

@Mapper
public interface PictureDao {
   void add(Picture picture);
   List<Picture> list();
   void delete(Integer id);
}

mapper的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhang.dao.PictureDao">
    <select id="add" parameterType="com.zhang.entity.Picture">
        insert into picture (url) values (#{url})
    </select>

    <select id="list" resultType="Picture">
        select id,url from picture
    </select>

    <delete id="delete">
        delete from picture where id = #{id}
    </delete>
</mapper>

service层

public interface PictureService {
    void add(Picture picture);
    List<Picture> list();
    void delete(Integer id);
}
@Service
public class PictureServiceImpl implements PictureService {

    @Resource
    private PictureDao pictureDao;

    @Override
    public void add(Picture picture) {
        pictureDao.add(picture);
    }

    @Override
    public List<Picture> list() {
        return pictureDao.list();
    }

    @Override
    public void delete(Integer id) {
        pictureDao.delete(id);
    }
}

controller层
实现图片上传的控制层

@RestController
public class OSSController {

    @CrossOrigin        // 跨域
    @RequestMapping("/oss")
    public Map<String,String> policy() {
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessId = "LTAI5t7Kp28TGsMHbS5YMMS9";
        String accessKey = "vbap18qeb9xEkumxLLnQTNtJoaR320";
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "oss-cn-beijing.aliyuncs.com";
        // 填写Bucket名称,例如examplebucket。
        String bucket = "tests-bucket-2022";
        // 填写Host地址,格式为https://bucketname.endpoint。
        String host = "https://" + bucket + "." + endpoint;

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String format = simpleDateFormat.format(new Date());
        // 设置上传到OSS文件的前缀,可置空此项。置空后,文件将上传至Bucket的根目录下。
        String dir = "test/" + format  + "/";

        // 创建ossClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessId, accessKey);
        Map<String, String> respMap = new LinkedHashMap<String, String>();
        try {
            long expireTime = 30;
            long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
            Date expiration = new Date(expireEndTime);
            PolicyConditions policyConds = new PolicyConditions();
            policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
            policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);

            String postPolicy = ossClient.generatePostPolicy(expiration, policyConds);
            byte[] binaryData = postPolicy.getBytes("utf-8");
            String encodedPolicy = BinaryUtil.toBase64String(binaryData);
            String postSignature = ossClient.calculatePostSignature(postPolicy);

            respMap.put("accessId", accessId);
            respMap.put("policy", encodedPolicy);
            respMap.put("signature", postSignature);
            respMap.put("dir", dir);
            respMap.put("host", host);
            respMap.put("expire", String.valueOf(expireEndTime / 1000));
            // respMap.put("expire", formatISO8601Date(expiration));

        } catch (Exception e) {
            // Assert.fail(e.getMessage());
            System.out.println(e.getMessage());
        } finally {
            ossClient.shutdown();
        }
        return respMap;
    }
}

实现图片查询添加、删除的控制层

@RestController
public class PictureController {

    @Resource
    private PictureService pictureService;

    @CrossOrigin
    @RequestMapping("/list")
    public List<Picture> list(){
        return pictureService.list();
    }

    @CrossOrigin
    @PostMapping(value = "/add")
    public void add(@RequestBody String url){
        Picture picture = new Picture();
        picture.setUrl(url);
        System.out.println(picture);
        pictureService.add(picture);
    }

    @CrossOrigin
    @RequestMapping("/delete/{id}")
    public void delete(@PathVariable Integer id){
        pictureService.delete(id);
    }
}

前端

前端使用的是vue+element-ui

实现图片上传的组件

<template>
  <el-upload
    class="upload-demo"
    :action="objData.host"
    :file-list="fileList"
    :data="objData"
    :on-success="uploadImage"
    :before-upload="ossPolicy"
    list-type="picture">
    <el-button size="small" type="primary">点击上传</el-button>
    <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
  </el-upload>
</template>

<script>
  export default {
    data() {
      return {
        fileList: [],
        objData:{
          OSSAccessKeyId:'',
          policy:'',
          Signature:'',
          key:'',   // 文件的名字
          host:'',
          dir:''
        },
        url:''
      };
    },
    methods:{
      uploadImage(response, file){	// 图片上传成功时调用的函数
        this.url = this.url + file.name;
        this.submit(this.url)
        
      },
      submit(url){		// 添加图片
        this.axios({
          method:'post',
          url:'http://localhost:8080/add',
          data:url,
          headers: {
            'Content-Type': 'application/json;charset=utf-8'
          }
        })
      },
      ossPolicy() {			// 直接上传到oss
        let _self = this;
        // 直接停止上传return false;
        // 再上传前,进行服务器签名
        return new Promise((resolve, reject) => {
          // 请求后端
          this.axios.get('http://localhost:8080/oss')
            // 当使用箭头函数  this 指向的是外层
            .then(response => {
              console.log(response)
              _self.objData.OSSAccessKeyId = response.data.accessId;
              _self.objData.policy = response.data.policy;
              _self.objData.Signature = response.data.signature;
              _self.objData.dir = response.data.dir;
              _self.objData.host = response.data.host;  // 直传 oss 的服务器地址
              _self.objData.key = response.data.dir + "${filename}";    // 文件的名字, 占位符,另一头拼接上
              this.url = response.data.host + "/" + response.data.dir
              resolve(true) // 继续上传
            })
            .catch(function (error) {
              console.log(error);
              reject(false)  // 停止上传
            })
        });
      },
      first(){			// 查询
        this.axios.get('http://localhost:8080/list')
          .then(response => {
            console.log(response)
            this.fileList = response.data
          })
          .catch(function(error) {
          })
      }
    }
  }
</script>

遍历图片的组件

<template>
  <el-table
    :data="tableData"
    style="width: 100%">
    <el-table-column
      label="序号"
      width="180">
      <template slot-scope="scope">
        <i class="el-icon-time"></i>
        <span style="margin-left: 10px">{{ scope.row.id }}</span>
      </template>
    </el-table-column>
    <el-table-column
      label="图片地址"
      width="180">
      <template slot-scope="scope">
        <el-image :src="scope.row.url"></el-image>
      </template>
    </el-table-column>
    <el-table-column label="操作">
      <template slot-scope="scope">
        <el-button
          size="mini"
          type="danger"
          @click="handleDelete(scope.$index, scope.row)">删除</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
    export default {
      name: "ListPicture",
      data() {
        return {
          tableData: [{
            id: '',
            url: ''
          }]
        }
      },
      methods: {
        handleDelete(index,row) {
          console.log(row.id);
          this.axios.get('http://localhost:8080/delete/' + row.id)
            .then(response => {
              this.first()
            })
            .catch(function(error) {
            })
        },
        first(){
          this.axios.get('http://localhost:8080/list')
            .then(response => {
              this.tableData = response.data
            })
            .catch(function(error) {
            })
        }
      },
      mounted() {
        this.first();
      }
    }
</script>

首页

<template>
  <el-container>
    <el-header height="300px">
      <ListPicture></ListPicture>
    </el-header>
    <el-main>
      <Oss></Oss>
    </el-main>
  </el-container>
</template>
<script>
  import Oss from "./Oss";
  import ListPicture from "./ListPicture";
  export default {
  name: 'HelloWorld',
  components:{Oss,ListPicture},
}
</script>
阿里云Oss简单使用
09-09
搭建Oss环境,上传一个图片的案例,也可以上传文本,文档之类,
文件存储-阿里云对象存储OSS的开通和使用
奋斗的小张同学
11-30 1491
使用阿里云对象存储OSS 一.开通OSS服务: 1.登录阿里云(没有账号需要进行注册+实名制) 2.登录完成后,会显示首页,在首页点击控制台,如下图,如果没有,点击头像也可以找到,在控制台可以找到我们开通的一切服务,例如:服务器 3.点击如图所示,选择OSS 4.点击以后,会看到如图所示,点击立即开通 5.点击管理控制台,就进入OSS服务首页,创建Bucket 6.创建bucket可以看到填写框: 地区:随便选,找个离自己最近的 存储类型:低频存就偶尔访问,适合自己使用;标准就是存储频繁; 冗余存储:就
阿里云对象存储OSS入门
最新发布
m0_58750788的博客
03-26 1087
oss对象存储
OSS使用教程
勤劳的小琪
02-26 945
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。目前企业级开发,主流的资源存储解决方案,首选:云服务,阿里云-OSS、七牛云-KODO。
阿里云的oss对象存储
weixin_44735933的博客
06-29 1753
阿里云控制台的操作 首先在阿里云官网开通oss对象存储 然后创建一个Bucket 点击文件管理可上传文件 创建id和秘钥 使用方式参考官方文档 https://help.aliyun.com/document_detail/32008.html?spm=5176.208357.1107607.22.754e390fcvGWbV 引入依赖 <dependencies> <!-- 阿里云oss依赖 --> <dependency
阿里云OSS存储:
prefect_start的博客
08-31 844
阿里云OSS存储
阿里云oss简介和如何对接使用
weixin_45734189的博客
10-08 4997
阿里云对象存储服务(Alibaba Cloud Object Storage Service,简称OSS)是阿里云提供的一种安全、稳定、高效的对象存储服务。它支持多元数据存储、持久化存储和共享访问,并且具有无限的扩展性和备份恢复能力。阿里云OSS适用于各类场景,如云计算、大数据分析、人工智能等,并且具备高可用性、高可扩展性和低成本等优势。阿里云OSS采用了多元数据存储技术,支持多元数据存储和持久化存储,可以满足不同类型数据的存储需求。
oss使用
strandtrack的博客
04-29 1954
oss使用 一 为什么要使用oss 以前我们上传文件时,上传到的其实是服务器,也就是tomcat中。这种当然也可以保存文件,但是他有一些问题,比如Web 应用重新部署导致文件丢失,集群环境下文件难以同步等问题。 而且你上传的文件存在tomcat中,如果文件体积太大也会影响tomcat的执行效率。所以这时候我们必须解决这些问题,你可以搭建一个文件服务器,但是这样做可能成本太高。所以如果不想这么干,那么阿里云oss...
阿里云OSS使用(小白也看得懂)
Ostkakah的博客
07-12 3866
oss是对象存储服务(Object Storage Service)的缩写,是一种分布式存储服务,用于存储和访问大规模数据。它提供了可靠、安全、低成本的数据存储解决方案,可以通过网络随时随地访问存储的数据。oss常用于存储图片、视频、文档等非结构化数据。
thinkPHP简单导入和使用阿里云OSSsdk的方法
10-20
主要介绍了thinkPHP简单导入和使用阿里云OSSsdk的方法,简单说明了阿里云OSS的php sdk下载地址及thinkPHP导入与使用OSSsdk的方法,需要的朋友可以参考下
阿里云OSS配置使用说明1
08-08
需要说明的是,Normal属于配置插件,是最简易的配置方式。但是不排除其他的配置方式,如果使用数据库存储这些参数,可以自行编写相应的插件,只要实现IConfig
react-oss-uploader:简单封装oss sdk,实现上传功能
05-01
react-oss上传组件v0.1.0版本 开始 $ git clone git@github.com:CrewS/react-oss-uploader.git $ cd react-oss-uploader $ npm install $ npm run start 配置ak授权信息(需要有oss对应的ak信息) // index.js ...
oss接口手册
10-08
用户可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上 进行上传和下载数据。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大 规模数据的服务。
阿里云OSS使用(全程请登陆)
热门推荐
zhouhengzhe的博客
01-02 3万+
文章目录1、第一步:阿里云申请账号:(以下可能有点混搭,因为涉及到钱。。。但是步骤是没错的)2、Springboot整合OSS开发2.1、maven依赖2.2、增加OSS配置文件2.3、文件上传接口开发 1、第一步:阿里云申请账号:(以下可能有点混搭,因为涉及到钱。。。但是步骤是没错的) 搜索 RAM-> 进入 RAM 访问控制。 创建用户: 授予权限 进入OSS控制台 信息确认无误后,点击确定: 记录地域地址: oss-cn-beijing.aliyuncs.com oss-cn
阿里云存储OSS《快速使用
心有谦谦结
03-18 9394
为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。 本文主要为快速使用OSS的简介。
阿里云oss使用教程
lsf15870973083的博客
07-22 2041
阿里云OSS阿里云OSS是一款由阿里巴巴云计算有限公司开发的基于云端的对象存储服务。它为企业和个人存储海量数据提供了完美的解决方案,本文将详细介绍阿里云OSS的功能与优势。
问题:oss上传图片,new OSSClient报错
jiashn123的专栏
09-15 6220
小伙伴们,有没有遇到阿里oss上传图片,报com.aliyun.oss.ClientException: Unknown 的。查了下帮助文档看不懂:网络打满是什么意思。
前端使用oss上传
developer_qi的博客
06-16 2650
最近有需求想要使用oss长传缓解服务器压力,商议后决定使用前端自己上传oss不经过服务器端。在此记录一下过程: 项目使用的是vue,所以首先npm i --saveali-oss 页面或者在公共方法引如 import oss from 'ali-oss' 页面加载调用接口获取相关参数后发起请求 this.client = new OSS({ region: res.serverRegion,// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式...
oss存储使用
weixin_43018183的博客
12-13 3174
阿里云提供了5种使用oss存储的方式,包括控制台、命令行、图形化管理工具ossbrowser、SDK、REST API;这里仅对在下常用的命令行、javasdk进行一些说明,其他的不一一详细说明,感兴趣的可以去官网看相关文档和指导视频。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver的解决办法 40811
  • 使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息 9329
  • VM16上安装CentOS7详细安装教程【附图】 4366
  • Git 2.37.1 的详细安装教程以及基本命令的使用 3607
  • Tomcat9的安装教程及部署自己的第一个网页 3537

分类专栏

  • 报错 2篇
  • 内网穿透 1篇
  • 功能 2篇
  • RabbitMq 1篇
  • OSS 1篇
  • 框架 7篇
  • 数据库 2篇
  • 数据库基础
  • Linux 1篇
  • SpringSecurity 1篇
  • Git 2篇
  • Tomcat 2篇
  • 算法
  • 操作系统 1篇
  • 笔记 1篇

最新评论

  • Tomcat9的安装教程及部署自己的第一个网页

    sanne哥哥: 为什么那个jdk8链接注册了下不了是怎么个事

  • Tomcat9的安装教程及部署自己的第一个网页

    sanne哥哥: 为什么那个jdk8链接注册了下不了是怎么个事

  • Spring的学习之路(必看)

    无函: 你这个不适合小白看

  • Tomcat9的安装教程及部署自己的第一个网页

    ☞^O^☜♞: 不需要输入呀,bat文件是启动Tomcat服务器的

  • Tomcat9的安装教程及部署自己的第一个网页

    m0_69234374: 内个bat文件打开了没办法输入啊。

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • RocketMQ4.9.4 搭建 Dashboard(控制台)后点击主题中的状态报错 --- MQBrokerException
  • Nacos 2.1.1 + SpringBoot 2.6.13 使用 yml 文件后报错(diagnostics.LoggingFailureAnalysisReporter)
  • 腾讯云服务器+NPS实现内网穿透
2023年6篇
2022年21篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

☞^O^☜♞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司广元网页制作公司长葛英文网站建设多少钱南宁百度网站优化排名公司鄂州阿里店铺运营报价阿里网站搜索优化报价盐城外贸网站制作抚州建网站推荐大连企业网站制作天门网站制作推荐长春品牌网站设计哪家好德阳营销网站推荐大浪建设网站多少钱双龙关键词排名包年推广价格嘉兴外贸网站制作多少钱濮阳百姓网标王多少钱杭州seo网站推广价格哈密网站排名优化多少钱蚌埠百度标王价格大理企业网站制作和田网站推广系统多少钱中卫网站推广系统报价资阳seo网站优化价格鹤岗网站优化多少钱梅州外贸网站设计推荐崇左建站包头网站seo优化哪家好肇庆seo报价阿坝网络广告推广哪家好镇江关键词按天计费报价玉溪模板网站建设哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化