91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GridFS的原理和應用

發布時間:2021-06-29 10:04:16 來源:億速云 閱讀:294 作者:chen 欄目:大數據

本篇內容介紹了“GridFS的原理和應用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

GridFS是MongoDB提供的用于持久化存儲文件的模塊,CMS使用Mongo DB存儲數據,使用FGridFS可以快速集成開發。

工作原理:

在GridFS存儲文件是將文件分塊存儲,文件會按照256KB的大小分割成多個塊進行存儲,GridFS使用兩個集合(collection)存儲文件,一個集合是chunks,用于存儲文件的二進制數據;一個集合是files,用于存儲文件的元數據(文件名稱,大小,上傳時間等信息)。

入門代碼:

一、添加依賴

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>

二、創建啟動類

package lianbang.wu.gridfs;

import com.mongodb.MongoClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class GridFSApplication {
    public static void main(String[] args) {
        SpringApplication.run(GridFSApplication.class);

    }

}

三、配置文件

server:
  port: 31001

spring:
  application:
    name: xc-service-manage-cms
  data:
    mongodb:
      uri: mongodb://root:123@localhost:27017 #mongodb連接
      database: xc-cms #數據庫名稱

四、創建配置類

@Configuration
public class GridFsConfig {


    @Value("${spring.data.mongodb.database}")
    String db;

    @Bean
    public GridFSBucket getGridFSBucket(MongoClient mongoClient){
        MongoDatabase database = mongoClient.getDatabase(db);
        GridFSBucket bucket = GridFSBuckets.create(database);
        return bucket;
    }
}

五、測試代碼

public class GridFSTest {

    @Autowired
    GridFsTemplate gridFsTemplate;

    @Autowired
    GridFSBucket gridFSBucket;

    //保存文件
    @Test
    public void testGridFs() throws FileNotFoundException {
        File file = new File("d:/index_banner.html");
        FileInputStream fileInputStream = new FileInputStream(file);
        ObjectId objectId = gridFsTemplate.store(fileInputStream, "測試文件");
        String fileId = objectId.toString();
        System.out.println(fileId);

    }

    //讀取文件
    @Test
    public void queryFile() throws IOException {
        String fileId = "123456";//模擬的id
        GridFSFile gridFSFile = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is(fileId)));
        GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(gridFSFile.getObjectId());
        GridFsResource gridFsResource = new GridFsResource(gridFSFile,gridFSDownloadStream);
        String string = IOUtils.toString(gridFsResource.getInputStream(), "utf-8");
        System.out.println(string);

    }

    //刪除文件
    @Test
    public void testDelFile(){
        gridFsTemplate.delete(Query.query(Criteria.where("_id").is("1234")));
    }

}

“GridFS的原理和應用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 新沂市| 正阳县| 阿拉善右旗| 玉门市| 九寨沟县| 五华县| 商水县| 承德市| 乃东县| 治县。| 高清| 冕宁县| 循化| 汤阴县| 海林市| 龙里县| 柘城县| 伊川县| 云霄县| 中西区| 翁牛特旗| 永丰县| 西平县| 平阳县| 建昌县| 克什克腾旗| 壶关县| 乌鲁木齐县| 宁蒗| 海原县| 城口县| 上饶县| 河东区| 尉犁县| 光山县| 高尔夫| 儋州市| 本溪| 灵山县| 台南市|