我試圖插入一個底座64圖像轉換成Objective-C中的uImage我做了以下內容:基地64圖像轉換成UIImage的 - 目標C
我有用戶的圖像成NSURL
NSURL *url = [NSURL URLWithString: [fetchDefaults objectForKey:@"img"]];
然後我投的網址,爲的NSString
NSString *string=[NSString stringWithFormat:@"%@",url];
然後我清理字符串,並添加前綴「數據:應用程序/八位字節流;的base64」,也試圖與「數據:圖像/ JPG;的base64 ,「
NSMutableString *tempStr = [NSMutableString stringWithString:string];
[tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])];
NSString *temp = [[NSString stringWithFormat:@"data:application/octet-stream;base64,%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
最後的字符串轉換爲一個NSData要插入的uImage
NSData *dat = [[NSData alloc]initWithBase64EncodedString:temp options:NSDataBase64DecodingIgnoreUnknownCharacters];
[avatar setImage:[UIImage imageWithData:dat]];
儘管DAT的值不爲零,當我設置圖像的UIImage的圖像不顯示,有什麼想法我做錯了什麼?
'然後我投的網址,進入NSString',這不是一個演員,你應該使用'的NSString *字符串= [URL absoluteString ];',不是?而你所做的一切都毫無意義。爲什麼添加「@」數據:application/octet-stream; base64,%@「'應該使它成爲UIImage?網址中發生了什麼?你能否給我們提供'[fetchDefaults objectForKey:@「img」]的價值?如果它是一個URL(真的),那麼你需要下載它是有道理的。 – Larme
在'fetchDefaults'我有一個字符串類似的東西'iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAq1BMVEX /// 8ARIvvhhs7cKb7/P3G0uIAQooERo0PTpG9zN5Meanl6fHN2 + N // vyYs9Dy9fn + ... TkSuQmCC'這個字符串我需要添加'@「的數據:應用程序/八位字節流; BASE64,% @「'表示這是一個基本的64字符串,然後我需要添加到UIImageView,但我不知道它是否正確的方式,我這樣做。 – mareyes
「我需要添加@」data:application/octet-stream; base64,%@「'」爲什麼?不是特別的。如果它已經正確完成,那麼您不必那樣做。 – Larme