我有幾個系列的圖像存儲在Web服務器上的文件夾。文件夾層次結構看起來是這樣的......XCode NSMutableURLRequest沒有打到Web服務器
WebServer’s Web Folder
_2016_4671579
Final
t1.jpg
t2.jpg
i1.jpg
i2.jpg
Recall
t1.jpg
t2.jpg
i1.jpg
i2.jpg
Initial
t1.jpg
t2.jpg
i1.jpg
i2.jpg
用戶選擇的系列,最初的,回想一下,或者在iPad上列表和一系列最終從服務器檢索和顯示的一個。我正在使用下面的代碼來檢索圖像。在這個例子中,我檢索是有T開始JPG格式...
for (int i = 0; i < imageCount; i++) {
fileName = [NSString stringWithFormat:@"t%i.jpg", i+1];
imagePath = [NSString stringWithFormat:@"_%@/%@/%@", [opHelper ID], [seriesArray objectAtIndex:thumbsSeriesIndex], fileName];
urlString = [[NSString stringWithFormat:@"http://%@/%@", [opHelper hostIP], imagePath] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
url = [NSURL URLWithString:urlString];
imageURL = [NSMutableURLRequest requestWithURL:url];
NSURLResponse *response;
NSError *error;
imageData = [NSURLConnection sendSynchronousRequest:imageURL returningResponse:&response error:&error];
//consume the imageData
}
這個工程除了在一段時間後,我回去空白影像的系列產品之一。在我的例子中,我會用Initial和Recall來獲得很好的圖像,但Final最後回來的是空白。一個500kb的文件被請求,imageData獲得800字節。我可以看到每個圖像請求的服務器命中數增加。如果一個系列失敗,服務器根本沒有被擊中。即。如果在上面的示例文件層次結構中選擇「重新調用」,則服務器計數將與初始值相同增加4,但如果選擇「最終」,則服務器計數不會增加。
這裏是正在發送的實際NSURLs ...
url NSURL * @"http://192.168.1.100/_2016_4671579/Final/t1.jpg" 0x80a7f640
url NSURL * @"http://192.168.1.100/_2016_4671579/Recall%201/t1.jpg" 0x804fbcf0
url NSURL * @"http://192.168.1.100/_2016_4671579/Initial/t1.jpg" 0x8088da30
在這種情況下,最後的網址上的作用並沒有擊中服務器,但我沒有看到任何的網址,跳出我這可能是可疑的。有人在我的代碼中看到任何可能導致此問題的東西嗎?我知道這不是一個文件問題,因爲即使我重命名其中一個工作文件夾,以便找不到請求的文件,服務器也會被擊中,並且iPad無任何錯誤地收到空白圖像。
感謝您的任何幫助。
約翰