當前位置:成語大全網 - 書法字典 - Day06項目集成了阿裏雲OSS和Excel導入分類。

Day06項目集成了阿裏雲OSS和Excel導入分類。

為了解決海量數據存儲和靈活擴展的問題,我們采用了雲存儲解決方案——阿裏雲OSS。?

1.打開“對象存儲OSS”服務。

(1)申請阿裏雲賬號。

(2)實名認證

(3)開放“對象存儲OSS”服務

(4)進入管理控制臺

2.創建存儲桶

選擇:標準存儲,公共閱讀,不開放。

3.上傳默認頭像

創建壹個文件夾頭像並上傳默認用戶頭像。

1.在服務模塊下創建壹個子模塊service-oss。

2.配置pom.xml

Service-oss的上級模塊Service已經引入了service的public * * *依賴,所以service-oss模塊只需要引入阿裏雲oss的相關依賴即可。

服務的父模塊中引入了Service-base模塊,所以引入了Swagger的相關默認。

3.配置應用程序.屬性

4、logback-spring.xml

5.創建啟動類

創造OssApplication.java

6.開始項目

錯誤報告:

默認情況下,Spring boot將加載org . spring framework . boot . auto configure . JDBC . data source auto configuration類。

DataSourceAutoConfiguration類用@Configuration註釋將dataSource bean註入到spring中,由於項目(oss模塊)中沒有關於dataSource的配置信息,當spring創建dataSource bean時,會因為缺少相關信息而報錯。

妳可以成功:

1,從配置文件讀取常數

創建常數閱讀工具類:ConstantPropertiesUtil.java

使用@Value讀取application.properties中的配置內容

用spring的InitializingBean的afterPropertiesSet初始化配置信息。所有屬性初始化後,將調用此方法。

2.文件上傳

創建服務接口:uploadFileAvatar.java

實現:OssServiceImpl.java

請參考:Java-& gt;上傳文件-& gt;簡單上傳-& gt;流上傳-& gt;上傳文件流

3.控制層

創建控制器:FileUploadController.java

4.重新啟動oss服務。

5.在Swagger中上傳測試文件

解決上傳文件覆蓋問題:

測試:

6.配置nginx反向代理。

配置nginx實現請求轉發功能:

驗證:

1,復制頭像上傳組件

從vue-element-admin復制組件:

vue-element-admin/src/components/ImageCropper

vue-element-admin/src/components/PanThumb

2.前端參考實施

src/views/components-demo/avatar upload . vue

3.向前端添加文件上傳組件。

src/views/edu/教師/save.vue

模板:

介紹組件模塊:

4.設置默認頭像(或不設置)

在onfig/dev.env.js中添加阿裏雲oss桶地址

初始化組件中頭像的默認地址。

5.js腳本實現上傳和圖片回顯。

二、測試文件上傳

前後關節調節

1.數據導入:減少輸入工作量。

2.數據導出:統計信息存檔。

3.數據傳輸:異構系統之間的數據傳輸。

1和EasyExcel的功能

解析Java域和生成Excel的著名框架有Apache poi、jxl等。但是它們都有壹個嚴重的問題,非常消耗內存。如果您的系統有少量的並發性,這可能沒問題,但是壹旦並發性出現,OOM或JVM將頻繁地使用完全gc。

Easyexcel是阿裏巴巴開源的excel處理框架,以使用簡單、節省內存著稱。EasyExcel之所以能大幅減少內存占用,主要是因為解析Excel時,文件數據不是壹次性加載到內存中,而是從磁盤中逐行讀取數據,逐個解析。

EasyExcel采用逐行解析的方式,以觀察者的方式將壹行的分析結果通知給分析器。

1.創建壹個普通的maven項目。

項目名稱:excel-easydemo

2.將xml相關的依賴項引入pom。

3.創建實體類

設置標題和添加的數據字段

4、實現寫操作

TestEasyExcel.java

(1)創建方法循環,設置要添加到Excel中的數據。

(2)執行最後的添加操作(方法1)

(3)實現最終的加法運算(方法2)

公共靜態void main(String[] args)引發異常{

//寫方法2,方法2需要手動關閉流。

//實現excel寫的操作。

//1設置寫文件夾地址和excel文件名。

string filename = " F:\ \ write . xlsx ";

excel writer excel writer = easy excel . write(文件名,DemoData.class)。build();

Writesheet writesheet =簡易Excel。Writesheet(“編寫方法2”)。build();

excelWriter.write(data(),write sheet);

///不要忘記finish將有助於關閉流。

excel writer . finish();

}

1,創建實體類

2.為讀取操作創建壹個監聽器。

3.調用實現最終讀取。

公共類TestEasyExcel {

公共靜態void main(String[] args) {

//實現excel讀取操作

//寫1:

string filename = " F:\ \ write . xlsx ";

//這裏需要指定讀取哪個類,然後讀取第壹個表文件流它會自動關閉。

EasyExcel.read(文件名,DemoData.class,new ExcelListener())。工作表()。doRead();

//寫2:

?InputStream in = new BufferedInputStream(new file InputStream(" F:\ \ 01 . xlsx "));

excel reader excel reader = easy excel . read(in,DemoData.class,new ExcelListener())。build();

read sheet read sheet = easy excel . read sheet(0)。build();

excel reader . read(read sheet);

//這裏別忘了關。讀取時會創建壹個臨時文件,磁盤會崩潰。

excel reader . finish();

}

1,編輯Excel模板

2.將文件上傳到阿裏雲OSS。

1,添加路線

2.添加vue組件

1,js定義數據

2、模板

3.js上傳方法

4.回調函數

1,服務edu模塊配置相關性

1、EduSubjectController

2.創建壹個對應Excel的實體類。

3、教育主題服務

(1)接口

(2)實現類

4.創建壹個用於讀取Excel的監聽器。

1,參考views/tree/index.vue。

2.創建壹個api

edu/subject.js

3、list.vue

1,創建vo

2.創建控制器