swift 利用Alamofire 上傳圖片到j(luò)ava服務(wù)器

做app 開發(fā)避免不了上傳文件魄懂,圖片等存到服務(wù)器上,客戶端只是實(shí)現(xiàn)單純的上傳圖片充蓝,還有傳入其他的參數(shù)(待更新)芽突。
首先來看客戶端的代碼
1.獲取本地圖片
<pre><code>

func saveImage(currentImage:UIImage,imageName:NSString){

    var imageData:NSData = UIImageJPEGRepresentation(currentImage, 0.5)
    var fullPath:String = NSHomeDirectory().stringByAppendingPathComponent("Documents").stringByAppendingPathComponent(imageName as String)
    
    imageData.writeToFile(fullPath as String, atomically: false)
    var fileURL = NSURL(fileURLWithPath: fullPath)
 //開始上傳操作
   


    
}

</code></pre>

  1. 上傳圖片
    <pre><code>
    /**
    上傳照片

    :param: url 上傳url
    :param: path 圖片path
    **/
    static func uploadImage(url:String,parameter:String,imagePath:NSURL ,requestDelegate:RequestDelegate){
    Alamofire.upload(
    .POST,
    URLString: url,
    multipartFormData: { multipartFormData in
    multipartFormData.appendBodyPart(fileURL: imagePath, name: "file")
    },
    encodingCompletion: { encodingResult in
    switch encodingResult {
    case .Success(let upload, _, _):
    upload.responseJSON { request, response, JSON, error in
    println(request)
    println(response)
    println(error)
    println(JSON)
    }
    case .Failure(let encodingError):
    println(encodingError)
    }
    }
    )

    }
    </code></pre>

接下來我們看Java服務(wù)器端代碼
1.配置文件
maven 的pom.xml 配置

pom配置.png

spring 配置

spring配置.png

2.在controller 獲取文件
<pre><code>
@RequestMapping(value = "/updateProfile.do")
@ResponseBodypublic JSONObject updateProfile(HttpServletRequest request) throws IOException{
if(request instanceof MultipartHttpServletRequest){
MultipartHttpServletRequest multipartHttpServletRequest=(MultipartHttpServletRequest) request;
FileUtils.saveFile(request, multipartHttpServletRequest.getFile("file"))
}
</code></pre>
3.保存文件 FileUtils 類
<pre><code>
package com.ambimmort.app.framework.uitls;
import org.springframework.web.multipart.MultipartFile;
import org.w3c.dom.stylesheets.LinkStyle;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**文件操作utils * * Created by Darker on 15/5/11. */
public class FileUtils {
private static String filePath;
private static ArrayList<String> filePaths=new ArrayList<>();
public static boolean saveFile(HttpServletRequest request,MultipartFile file)
{ // 判斷文件是否為空
if (!file.isEmpty()) {
try {
String localFilePath=null;
filePath= "/uploads/" +UUID.randomUUID()+"_"+System.currentTimeMillis()+".png"; // 文件保存路徑
localFilePath =request.getSession().getServletContext().getRealPath("/")+filePath;
System.out.println("filepath="+filePath);
// 轉(zhuǎn)存文件
file.transferTo(new File(localFilePath));
setFilePath(filePath);
return true;
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public static boolean saveFiles(HttpServletRequest request,Map<String,MultipartFile> files)
{ for (int i=0;i<files.size();i++){
//有一張圖片沒上傳成功忧便,則return false
MultipartFile multipartFile=files.get("file"+i);
if (saveFile(request,multipartFile)){
filePaths.add(getFilePath());
}else{
return false;
}
}
return true;
}
public static String getFilePath(){
return filePath ;
}
public static ArrayList<String> getFilePaths(){
return filePaths;
}
public static void setFilePath(String path){
filePath=path;
}
}
</code></pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末青灼,一起剝皮案震驚了整個(gè)濱河市牺汤,隨后出現(xiàn)的幾起案子辽旋,更是在濱河造成了極大的恐慌,老刑警劉巖檐迟,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件补胚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡追迟,警方通過查閱死者的電腦和手機(jī)溶其,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敦间,“玉大人瓶逃,你說我怎么就攤上這事∶柯鳎” “怎么了金闽?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剿骨。 經(jīng)常有香客問我代芜,道長,這世上最難降的妖魔是什么浓利? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任挤庇,我火速辦了婚禮,結(jié)果婚禮上贷掖,老公的妹妹穿的比我還像新娘嫡秕。我一直安慰自己,他們只是感情好苹威,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布昆咽。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掷酗。 梳的紋絲不亂的頭發(fā)上调违,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音泻轰,去河邊找鬼技肩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浮声,可吹牛的內(nèi)容都是我干的虚婿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼泳挥,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼然痊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起羡洁,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤玷过,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后筑煮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粤蝎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年真仲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片初澎。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秸应,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碑宴,到底是詐尸還是另有隱情软啼,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布延柠,位于F島的核電站祸挪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贞间。R本人自食惡果不足惜贿条,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望增热。 院中可真熱鬧整以,春花似錦、人聲如沸峻仇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凡蚜,卻和暖如春奠骄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背番刊。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工含鳞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芹务。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓蝉绷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枣抱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子熔吗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)佳晶,斷路器桅狠,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評(píng)論 6 342
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • 致阿那亞: 也許待在越樸素的地方中跌,人會(huì)變得越單純。在平時(shí)的生活中菇篡,我們總是被難看的漩符,威嚴(yán)聳立的或者俗氣的大廈包圍,...
    郝志陽閱讀 6,612評(píng)論 0 0
  • 今天我b吵架了驱还,因?yàn)槲页源琢耸缺咽謾C(jī)恢復(fù)出廠設(shè)置,我當(dāng)時(shí)覺得b是故意的议蟆,想起曾經(jīng)發(fā)現(xiàn)行李箱tt那件事闷沥,我突然心理...
    赫荷閱讀 180評(píng)論 0 0