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.創建控制器