IOS上傳圖片-swift和OC

服務器端:java 服務器端參考鏈接:http://www.cnblogs.com/fjsnail/p/3491033.html

/*
     * 采用spring提供的上傳文件的方法
     */
    @RequestMapping(value = "/springUpload.json", method = RequestMethod.POST , produces = "application/json;charset=UTF-8")
    @ResponseBody
    public String springUpload(HttpServletRequest request)
            throws IllegalStateException, IOException {
        System.out.println("進入方法............................");
        long startTime = System.currentTimeMillis();
        // 將當前上下文初始化給 CommonsMutipartResolver (多部分解析器)
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
                request.getSession().getServletContext());
        // 檢查form中是否有enctype="multipart/form-data"
        if (multipartResolver.isMultipart(request)) {
            // 將request變成多部分request
            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
            // 獲取multiRequest 中所有的文件名
            Iterator iter = multiRequest.getFileNames();

            while (iter.hasNext()) {
                // 一次遍歷所有文件
                MultipartFile file = multiRequest.getFile(iter.next()
                        .toString());
                //傳遞參數(shù)值
                String str = multiRequest.getParameter("str");
                System.out.println("str:" + str);
                if (file != null) {
                    System.out.print("file----");
                    System.out.println(file.getName());
                    System.out.println(file);
                    String path = "E:/springUpload"
                            + file.getOriginalFilename();
                    // 上傳
                    file.transferTo(new File(path));
                }

            }

        }
        long endTime = System.currentTimeMillis();
        System.out.println("方法三的運行時間:" + String.valueOf(endTime - startTime)
                + "ms");
        return "/success";
    }

swift Alamofire上傳

 func testFileUpload() {
        
        let url = "http://192.168.0.15:8080/dcfdServer/device/springUpload.json"
        let imageData = UIImagePNGRepresentation(self.image)
        
        Alamofire.upload(multipartFormData: { (multipartFormData) in
//傳遞多個圖片峰鄙,多次添加即可
            multipartFormData.append(imageData!, withName: "12.png", fileName: "image", mimeType: "image/png")
            let strData = String("str")?.data(using: String.Encoding.utf8)
            //傳遞參數(shù)
            multipartFormData.append(strData!, withName: "str")
        }, to: url) { (result) in
            switch result {
            case .success(request: let request, streamingFromDisk: true, streamFileURL: nil):
                request.responseString(completionHandler: { (response) in
                    debugPrint(response)
                })
            case .failure(let error):
                debugPrint(error)
            default: break
            }
        }
        
    }

OC上傳:

- (void)uploadImages:(NSArray *)images{
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    NSDictionary *dict = @{@"str": @"str....."};
    NSString *url = @"http://192.168.0.15:8080/dcfdServer/device/springUpload.json";
    [manager POST:url parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        
        for (int i = 0; i < images.count ; i++) {
            UIImage *image = images[i];
            NSData *data = UIImagePNGRepresentation(image);
            [formData appendPartWithFileData:data name:[NSString stringWithFormat:@"%d.png",i] fileName:[NSString stringWithFormat:@"fileName%d.png",i] mimeType:@"image/png"];
            
        }
        
    } progress:^(NSProgress * _Nonnull uploadProgress) {
        NSLog(@"------%f",1.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSLog(@"-----success-%@",responseObject);
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"-----error-%@",error);
        
    }];
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拙寡,一起剝皮案震驚了整個濱河市庄岖,隨后出現(xiàn)的幾起案子碍沐,更是在濱河造成了極大的恐慌,老刑警劉巖邀泉,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谅畅,死亡現(xiàn)場離奇詭異彤悔,居然都是意外死亡,警方通過查閱死者的電腦和手機禽拔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門刘离,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人睹栖,你說我怎么就攤上這事硫惕。” “怎么了野来?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵恼除,是天一觀的道長。 經(jīng)常有香客問我,道長豁辉,這世上最難降的妖魔是什么令野? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮徽级,結(jié)果婚禮上气破,老公的妹妹穿的比我還像新娘。我一直安慰自己餐抢,他們只是感情好现使,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旷痕,像睡著了一般碳锈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欺抗,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天售碳,我揣著相機與錄音,去河邊找鬼佩迟。 笑死团滥,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的报强。 我是一名探鬼主播灸姊,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秉溉!你這毒婦竟也來了力惯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤召嘶,失蹤者是張志新(化名)和其女友劉穎父晶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弄跌,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡甲喝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铛只。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片埠胖。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖淳玩,靈堂內(nèi)的尸體忽然破棺而出直撤,到底是詐尸還是另有隱情,我是刑警寧澤蜕着,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布谋竖,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蓖乘。R本人自食惡果不足惜锤悄,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驱敲。 院中可真熱鬧铁蹈,春花似錦、人聲如沸众眨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娩梨。三九已至沿腰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狈定,已是汗流浹背颂龙。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纽什,地道東北人措嵌。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像芦缰,于是被迫代替她去往敵國和親企巢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

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

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫让蕾、插件浪规、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,058評論 4 62
  • 每周四依然培訓師俱樂部!這周沒搶到角色探孝!現(xiàn)場搶了一個即興演講還有一個微課評估笋婿!做完之后發(fā)現(xiàn)可以進一步升級2.0版本...
    祥祥布魯斯閱讀 404評論 0 2
  • 文|沒有春 你早已默然不見 留我在蘇州的小弄里 聽評彈話兒女情長 吳儂軟語 沉靜一下午的時光 鮮荷正開 斜倚小橋流...
    沒有春閱讀 557評論 22 23