2013-01-09 148 views
2

我想從URL獲取圖像,但我無法做到這一點。 任何人都可以讓我知道出了什麼問題無法從URL獲取UIImage

找到下面的代碼供您參考。

NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG"; 


    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 

    img.image = [UIImage imageWithData:imageData]; 

其中IMG是一個UIImageView

+0

代碼看起來應該可以工作(儘管url是一個未使用的變量)。我懷疑img是零。你可以NSLog(@「%@」,img);在最後一行之前。 – danh

+0

@danh:yeh它的零,但如果我打開url我有圖像!!!!! –

+1

請爲羽絨投票留下意見,它可以幫助我在將來 –

回答

8

我只是創建你IMAGEURL的演示中,你只需要把代碼波紋管: -

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG"; 


    ImageURL =[ImageURL stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 

    NSLog(@"img url ==%@",ImageURL); 
    NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
    UIImage *MYimage = [UIImage imageWithData:data]; 

    NSLog(@"==%@",MYimage); 
    [imgview setImage:MYimage]; 

} 

下載演示中,我剛創建的圖片網址: -

http://www.sendspace.com/file/m966ae

謝謝:)

+0

那裏是...謝謝兄弟..它的工作現在 –

+0

我們怎麼能在android中執行android –

+0

在android中可以用%7d替換{with%7b並替換} –

0

這是因爲你有「{」和「}」在你IMAGEURL,所以你不能讓你的形象,所以只需更換這個括號。

-(NSString*)replace:(NSString*)string 
{ 
    NSString *str = [[string stringByReplacingOccurrencesOfString:@"{" withString:@"%7B"] stringByReplacingOccurrencesOfString:@"}" withString:@"%7D"]; 

    return str; 
} 
+0

你能解釋爲什麼replacementOccurrencesofString ...? –

+0

我也懷疑這一點,但我複製了網址到瀏覽器中並加載。 – danh

+0

我的網址無法正常工作,如果我將 –

0

試試這個.......

NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG"; 
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:ImageURL]]; 
UIImage *IMG = [UIImage imageWithData:data]; 
img.image = IMG; 
0

你必須創建以下列方式你的URL對象:

NSURL *url = [NSURL URLWithString:[ImageURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

然後使用該URL來獲取數據。希望它能爲你工作。

0

有多種方式從Url獲​​取圖片。你可以使用任何人。但我試過的最快的是

-(UIImage*)getImageFromURLwithUrl:(NSString*)imgURLStr 
{ 
    NSMutableURLRequest *requestWithBodyParams = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:imgURLStr]]; 
    NSData *imageData = [NSURLConnection sendSynchronousRequest:requestWithBodyParams returningResponse:nil error:nil]; 
    UIImage *image = [UIImage imageWithData:imageData]; 

    return image; 
}