SSM + Android 網路互動的那些事
ssm做為後臺與android互動,相信只要是瞭解過的人都知道一些基本的資料互動,向json,物件,map的互動就像喝水一樣簡單,這些基本的互動也是學習ssm後臺開發的基本,但是好多人卻是會忽略檔案的互動。畢竟大多數培訓老師是沒有講這些東西的(至少小編我的啟蒙老師就沒有介紹過)。好了廢話不多說,直接上!!!!!!!!
在這裡我用的是okHttp網路請求框架:https://github.com/square/okhttp(官方的開源庫)
①ssm服務端的做法步驟:
1. 在 spring-servlet.xml 配置檔案中加入下面的程式碼,用以通知spring載入檔案上傳處理器:
<!-- 定義檔案上傳處理器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8" />
2.ssm 控制器編寫的對映關係:
@RequestMapping(value="user/postFile.action",method = RequestMethod.POST)
@ResponseBody
public String postFile(@RequestParam("file") MultipartFile file){
String name = file.getContentType();
System.out.println(name);
// if(file.isEmpty()){
//
// System.out.println("fial");
// //return "successful";
// }else{
// System.out.println("successful");
// //return "fail";
// }
return null;
3,記得加一個依賴庫,commons-fileupload.jar 。如果用的是maven管理的話在pom.xml中加入下面依賴就好!
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
②android 通過okhttp上傳檔案(multipart form/data)
public Request postFile(String url,File file){ RequestBody fileBody = RequestBody.create(MediaType.parse("image/jpg"), file); MultipartBody.Builder builder = new MultipartBody.Builder(); builder.setType(MultipartBody.FORM) .addFormDataPart("file","welcome_crop.jpg",fileBody); RequestBody requestBody = builder.build(); Request request = new Request.Builder().url(url) .post(requestBody) .build(); return request; }
public void execute(final Request request, BaseCallBack callBack){ if(callBack == null){ callBack = BaseCallBack.CALLBACK_DEFAULT; } final BaseCallBack finalCallBack = callBack; client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { sendFailedResult(call,e,finalCallBack); } @Override public void onResponse(Call call, Response response) throws IOException { if (call.isCanceled()){ sendFailedResult(call,new Exception("response is canceled"),finalCallBack); return; } Log.d(TAG,""+response.code()); if (!finalCallBack.validateResponse(response)){ sendFailedResult(call,new Exception("response is failed"+response.code()),finalCallBack); return; } try { Object object = finalCallBack.parseResponse(response); sendSuccessResult(object,finalCallBack); }catch (Exception e){ e.printStackTrace(); }finally { if(response.body()!=null){ response.close(); } } } }); }呼叫
Request fileRequest = OkHttpUtils.getInstance().postFile(url,file); OkHttpUtils.getInstance().execute(fileRequest, new MyStringCallBack());
https://github.com/ggyuer/ssmAndandroid(Android 端okhttp請求,服務端用自己的)
}
相關推薦
SSM + Android 網路互動的那些事
ssm做為後臺與android互動,相信只要是瞭解過的人都知道一些基本的資料互動,向json,物件,map的互動就像喝水一樣簡單,這些基本的互動也是學習ssm後臺開發的基本,但是好多人卻是會忽
談談國外網路干擾那些事
極致的應用體驗應該是每個應用都應該追求的,競品間的體驗差距應該都是體現在細節方面,如在差網路下的視訊載入速度,載入大量圖片列表時的流暢度,而網路,則是這些體驗的前提,如果網路不通,連資料都沒有辦法載入,這對於產品來說,是致命的,這很有可能導致辛辛苦苦運營積累的使用者的流失。對於在海外運營的產品來說,網路問題甚
Android textview 花裡胡哨 那些事
1.文字畫出來 https://github.com/totond/TextPathView 2.跑馬燈 https://github.com/Marksss/AndroidAutoSwitcher https://github.com/dreamlivemeng/UpMarquee
android 開發錄音那些事(錄音許可權授權及判斷錄音許可權是否拒絕處理)
在專案開發錄音功能是,OnTouchListener呼叫時使用錄音功能,接下來就總結下開發過程中遇到的問題及解決辦法: (1)第一次點選時會跳出選擇是否授權錄音許可權的對話款,操作後會發現程式崩掉,怎麼來監測彈出授權對話方塊呢?這是一個十分困擾的問題對吧,經過本人就Moti
搞懂 Android Studio 構建那些事
1.Android 構建系統構建 APK 的過程是個相當複雜的過程,Android 構建系統需要將應用的資原始檔和原始檔一同打包到最終的 APK 檔案中。應用可能會依賴一些外部庫,構建工具要靈活地管理這些依賴的下載、編譯、打包(包括合併、解決衝突、資源優化)等過程。應用的原始
關於android資原始檔那些事。
很多時候,我們拿到一個開發到一半的專案來接手做的時候,很多時候 都感覺一團亂麻,有的是沒註釋,有的是程式碼可讀性差,各種引數,數值隨意放,這時候我們就需要把他們放到他們該去的地方,減少專案的維護難度,為後來接鍋的人留條活路。 在android中的資源指的是非程式碼部分的,指
Android HOME鍵那些事
遊戲中常常需要監聽android HOME鍵,當HOME鍵下壓時,往往需要做一些狀態儲存,音效停止等操作,那麼如何做,才能監聽到HOME鍵呢?我們知道HOME是系統鍵,app中無法通過onKey這些函式來處理。要妥善的處理HOME鍵,首先需要看看HOME鍵下壓
Android Studio 構建那些事
Android 構建系統 概述 構建 APK 的過程是個相當複雜的過程,Android 構建系統需要將應用的資原始檔和原始檔一同打包到最終的 APK 檔案中。應用可能會依賴一些外部庫,構建工具要靈活地管理這些依賴的下載、編譯、打包(包括合併、解決衝突、資
Android Q 相容那些事
5 月 20 號參加了 Android Q Labs,因此本篇說一說會議的部分內容以及自己的一些想法。 會議主要是加深開發者對 Android Q 的瞭解,從而幫助開發者做好 Android Q 的相容工作。 因此本篇我會選擇性說明一些在 Android Q 上你需要相容的一些事情。 1. 後臺 Acti
Dubbo系列之 (七)網路層那些事(2)
# 輔助連結 ## [Dubbo系列之 (一)SPI擴充套件 ](https://www.cnblogs.com/liferecord/p/13445631.html) ## [Dubbo系列之 (二)Registry註冊中心-註冊(1)](https://www.cnblogs.com/liferecord
Android Studio 那些事|Activity文件前標識圖標顯示為 j 而是 c
div roi 右下角 ext blog 識圖 cti 問題: content 問題:Activity文件前標識圖標顯示為 j 而是 c 的圖標,或是沒有顯示,並且自己主動提示不提示 解決:這是由於你的studio設置了省電模式,你能夠通過 File>
分享一下身邊朋友自學android開發及找工作的那些事!【不足勿噴】
自己的 tis 快速 就是 和我 and 好處 adapt 分享 寫在前面 前不久身邊一個朋友突然告訴我他把原來的工作辭掉了,我問他最近在幹嘛,他說他最近兩個月學了java及android然後花了1周時間找工作,我問他現在怎麽樣了。他說比不上我們身邊這些10K-20K的現在
IOS —— 網路那些事(上) - http協議
作為一名並不太合格的程式設計師,今天要分享學習的成果,竟然講的是網路相關HTTP協議的事情。(也算是複習了) 乍看HTTP協議的內容著實是十分複雜的,涉及到十分多網際網路"底層"框架的東西。今天就先撇開這部分詳細內容。 簡單的來說說HTTP協議,以及連線的事項。 HTTP協議發展至今也有二十多年曆史,版
Native與H5互動的那些事
前言 Hybrid開發模式目前幾乎每家公司都有涉及和使用,這種開發模式兼具良好的Native使用者互動體驗的優勢與WebApp跨平臺的優勢,而這種模式,在Android中必然需要WebView作為載體來展示H5內容和進行互動,而WebView的各種安全性、相容性的問題,我想大多數人與它友誼的小床
GCP 建立 SSH 連線登入VM方式 « 關於網路那些事...
進入 GCP dashboard 檢視VM 右邊選單> Compute Engine 這裡面會列出 VM 執行個體 檢視 VM 個體資訊 點選其中一個 VM
Lumen 擴充 generator « 關於網路那些事...
Lumen 主旨在建立一個快速微服務框架 在預設的功能中,僅保留少數 laravel 原生功能專案 舉例來說,Lumen 不提供 artisan make:con
Git 提交訊息樣式建議 « 關於網路那些事...
Git 官方建議的提交訊息樣式,可以讓提交訊息更加容易理解及管理 原則上,可以將訊息分成三種型態 型別:標題 內容 註解 類別 首先,在 commit 標題之
gcloud SDK 安裝及建立 google repository « 關於網路那些事...
下載 gcp sdk 下載 macOS 64 位元 (x86_64) 初始化安裝 將資料夾解壓縮後,放置自己的專案管理目錄 /google-cloud-sd
DNS Resource Record (RR) « 關於網路那些事...
DNS Server 負責處理 DNS 相關服務 Zone File 每一個域名都會有相對應的檔案,稱為區域檔案(Zone File),每一個 Zone File 都
repository 上手 « 關於網路那些事...
安裝 composer require prettus/l5-repository 設定 ServiceProvider 如果是 >= laravel5