真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

GridFS的原理和應(yīng)用

本篇內(nèi)容介紹了“GridFS的原理和應(yīng)用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)天等免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

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

工作原理:

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

入門代碼:

一、添加依賴


    
        org.springframework.boot
        spring-boot-starter-data-mongodb
    
    
        org.springframework.boot
        spring-boot-starter-test
    
    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.apache.commons
        commons-io
        1.3.2
    

二、創(chuàng)建啟動類

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 #數(shù)據(jù)庫名稱

四、創(chuàng)建配置類

@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的原理和應(yīng)用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


文章名稱:GridFS的原理和應(yīng)用
標(biāo)題URL:http://weahome.cn/article/pspcgp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部