iOS UIimage轉(zhuǎn)base64兼容問題

1.UIImage轉(zhuǎn)base64兼容問題

最近項(xiàng)目使用的UIImage轉(zhuǎn)base64 String上傳到后臺(tái)。使用UIImage轉(zhuǎn)NSData再轉(zhuǎn)base64 String上傳到后臺(tái)一直失敗。iOS自身用一直沒問題,后來搜索說UIImage改變了data結(jié)構(gòu)。

2.將UIImage寫會(huì)到文件,使用NSData直接讀取。

創(chuàng)建UIImage Category 方法。

- (NSString *)base64String {
    NSData *imageData = nil;
    NSString *mimeType = nil;
    NSString *suffix = nil ;
    if ([self imageHasAlpha]) {
        imageData = UIImagePNGRepresentation(self);
        mimeType = @"image/png";
        suffix = @".png" ;
    } else {
        imageData = UIImageJPEGRepresentation(self, 0.5f);
        mimeType = @"image/jpeg";
        suffix = @".jpeg" ;
    }
    NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject] ;
    NSString *fileName = [filePath stringByAppendingFormat:@"/temp%@", suffix] ;
    [imageData writeToFile:fileName atomically:YES] ;
    NSData *data = [NSData dataWithContentsOfFile:fileName] ;
    NSString *base64String = [NSString stringWithFormat:@"data:%@;base64,%@", mimeType,
            [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]];
    NSFileManager *fileManager = [NSFileManager defaultManager] ;
    if ([fileManager fileExistsAtPath:fileName]) {
        [fileManager removeItemAtPath:filePath error:nil] ;
    }
    //+號(hào)必須替換為%2B,要不然同樣會(huì)失敗!
    base64String = [base64String stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"] ;
    return base64String ;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,656評(píng)論 30 472
  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,274評(píng)論 7 249
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,667評(píng)論 4 61
  • 和遺跡般的懸崖一樣 山坡枯萎過 把這里當(dāng)作柳梢的情人有很多 水不止 那朵為你命名的花不落 所有的天色崢嶸 山歌繚繞...
    2020號(hào)閱讀 344評(píng)論 10 25
  • 導(dǎo)語 每次旅行都是一次揚(yáng)帆起航的過程,就如在浩瀚無垠的大海上你感受到每一次風(fēng)起及浪涌……蒙塔古道森是美國傳奇海洋畫...
    漫游家閱讀 488評(píng)論 0 0

友情鏈接更多精彩內(nèi)容