如何呼叫第三方API實現圖片上傳?
這裡是修真院後端小課堂,每篇分享文從
【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】
八個方面深度解析後端知識/技能,本篇分享的是:
【如何呼叫第三方API實現圖片上傳? 】
1.背景介紹
在開發過程中,不論是做網頁還是APP,基本上都會有圖片上傳的業務需求,最典型的就是註冊賬號之後需要使用者上傳頭像或者使用者驗證的時候上傳身份證照片。 而java中實現圖片上傳大概有兩種形式:一種是使用jsp+servlet實現圖片上傳;一種是使用jsp+controller實現圖片上傳。 儲存基本上也有兩種形式,在資料庫中直接儲存blob型別的圖片或者圖片儲存在伺服器上並在資料庫中儲存箱對應的路徑,絕大部分網站用後者。
2.知識剖析
API是什麼?
API(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節
阿里雲OSS
阿里雲物件儲存服務(Object Storage Service,簡稱 OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲端儲存服務。可以通過呼叫 API,在任何應用、任何時間、任何地點上傳和下載資料,也可以通過Web控制檯對資料進行簡單的管理。OSS適合存放任意型別的檔案,適合各種網站、開發企業及開發者使用。
MULTIPARTFILE
(1)HTML中form mata方式上傳的檔案
(2)只儲存有二進位制檔案和檔名
上傳流程
(1)使用MultipartFile類接收上傳的圖片;
(2)將圖片儲存在伺服器(阿里雲OSS),返回一個圖片路徑;
(3)圖片路徑儲存在使用者資訊中以供呼叫。
3.常見問題
對上傳的圖片做一些限制
生成縮圖?
6.擴充套件思考
6.擴充套件思考
7.參考文獻
https://blog.csdn.net/baidu_38990811/article/details/78413470
https://blog.csdn.net/haluoluo211/article/details/52080325
https://www.cnblogs.com/xx0405/p/5653115.html
1、如何生成縮圖
在圖片連線後設定引數
格式
http://bucket.<endpoint>/object?x-oss-process=image/action,parame_value
指定縮略的模式:
-
lfit:等比縮放,限制在指定w與h的矩形內的最大圖片。
-
-
mfit:等比縮放,延伸出指定w與h的矩形框外的最小圖片。
-
-
fill:固定寬高,將延伸出指定w與h的矩形框外的最小圖片進行居中裁剪。
-
-
pad:固定寬高,縮略填充。
-
-
fixed:固定寬高,強制縮略。
-
-
例子
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,h_100
2、阿里雲 檔案上傳方式
檔案上傳,檔案流上傳,網路流上傳
3.防盜鏈作用
為了防止OSS上的資料被其他人盜鏈,OSS支援基於HTTP header中表頭欄位referer的防盜鏈方法。
更多內容,可以加入IT交流群565734203與大家一起討論交流
這裡是技能樹·IT修真院:https://www.jnshu.com,初學者轉行到網際網路的聚集地