iOS使用AFNETWORKING上傳圖片到php laravel,附php代碼

首先是iOS端代碼,導入AFNetworking后,可以用下面的方法實現(xiàn)上傳:

+ (void)uploadImageWithImage:(UIImage *)image pid:(NSString *)pid success:(void (^)(id responseObject))success failureHandler:(void(^)(NSError *error)) failure{
/*
 此段代碼如果需要修改岸蜗,可以調整的位置
 1. 把upload.php改成網(wǎng)站開發(fā)人員告知的地址
 2. 把file改成網(wǎng)站開發(fā)人員告知的字段名
 */

//AFN3.0+基于封住HTPPSession的句柄
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

NSDictionary *dict = @{@"username":@"Saup"};

//formData: 專門用于拼接需要上傳的數(shù)據(jù),在此位置生成一個要上傳的數(shù)據(jù)體
[manager POST:[@"upload.php"] parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    NSData *data = UIImagePNGRepresentation(image);
    // 在網(wǎng)絡開發(fā)中蜕琴,上傳文件時,是文件不允許被覆蓋柠掂,文件重名
    // 要解決此問題涨颜,
    // 可以在上傳時使用當前的系統(tǒng)事件作為文件名
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    // 設置時間格式
    formatter.dateFormat = @"yyyyMMddHHmmss";
    NSString *str = [formatter stringFromDate:[NSDate date]];
    NSString *fileName = [NSString stringWithFormat:@"%@.png", str];
    
    //上傳
    /*
     此方法參數(shù)
     1. 要上傳的[二進制數(shù)據(jù)]
     2. 對應網(wǎng)站上[upload.php中]處理文件的[字段"file"]
     3. 要保存在服務器上的[文件名]
     4. 上傳文件的[mimeType]
     */
    [formData appendPartWithFileData:data name:@"file" fileName:fileName mimeType:@"image/png"];
    
} progress:^(NSProgress * _Nonnull uploadProgress) {
    
    //上傳進度
    // @property int64_t totalUnitCount;     需要下載文件的總大小
    // @property int64_t completedUnitCount; 當前已經(jīng)下載的大小
    //
    // 給Progress添加監(jiān)聽 KVO
    NSLog(@"%f",1.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount);

} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    NSLog(@"上傳成功 %@", responseObject);
    
params: dic sucesshander:success failurer:failure];
    }else{
        NSLog(@"%@",@"上傳失敗");
    }
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    
    NSLog(@"上傳失敗 %@", error);
}];
}

PHP laravel 框架代碼:

    public function savePic(Request $request){
    if(!$request->hasFile('file')){
        return $this->returnResponse(500,'上傳文件為空费韭!');//這是自己寫的返回信息方法,你可以根據(jù)自己的修改
    }
    $file = $request->file('file');
    //判斷文件上傳過程中是否出錯
    if(!$file->isValid()){
        return $this->returnResponse(500,'文件上傳出錯庭瑰!');
    }
    $newFileName = md5(time().rand(0,10000)).'.'.$file->getClientOriginalExtension();
    $savePath = 'upload/'.date('Y-m-d',time()).'pic/'.$newFileName;
    $bytes = Storage::put(
        $savePath,
        file_get_contents($file->getRealPath())
    );
    if(!Storage::exists($savePath)){
        return $this->returnResponse(500,'保存文件失斝浅帧!');
    }
    return $this->returnResponse(200,$savePath);
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末弹灭,一起剝皮案震驚了整個濱河市督暂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌穷吮,老刑警劉巖逻翁,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捡鱼,居然都是意外死亡卢未,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門堰汉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人伟墙,你說我怎么就攤上這事翘鸭。” “怎么了戳葵?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵就乓,是天一觀的道長。 經(jīng)常有香客問我拱烁,道長生蚁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任戏自,我火速辦了婚禮邦投,結果婚禮上,老公的妹妹穿的比我還像新娘擅笔。我一直安慰自己志衣,他們只是感情好屯援,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著念脯,像睡著了一般狞洋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绿店,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天吉懊,我揣著相機與錄音,去河邊找鬼假勿。 笑死借嗽,一個胖子當著我的面吹牛,可吹牛的內容都是我干的废登。 我是一名探鬼主播淹魄,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼堡距!你這毒婦竟也來了甲锡?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤羽戒,失蹤者是張志新(化名)和其女友劉穎缤沦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體易稠,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡缸废,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了驶社。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片企量。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亡电,靈堂內的尸體忽然破棺而出届巩,到底是詐尸還是另有隱情,我是刑警寧澤份乒,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布恕汇,位于F島的核電站,受9級特大地震影響或辖,放射性物質發(fā)生泄漏瘾英。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一颂暇、第九天 我趴在偏房一處隱蔽的房頂上張望缺谴。 院中可真熱鬧,春花似錦耳鸯、人聲如沸瓣赂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽煌集。三九已至妓肢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苫纤,已是汗流浹背碉钠。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卷拘,地道東北人喊废。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像栗弟,于是被迫代替她去往敵國和親污筷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內容