2014-02-22 77 views
-3

爲什麼在服務器上沒有人時下載文件?它使用html代碼創建一個文件。比較服務器上的url文件

我的代碼是在這裏:

dataPathCustomerinfo = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Customerinfo"]; 
     if (![[NSFileManager defaultManager] fileExistsAtPath:dataPathCustomerinfo]) { 
      [[NSFileManager defaultManager] createDirectoryAtPath:dataPathCustomerinfo withIntermediateDirectories:NO attributes:nil error:nil]; 
     } 

     //Ordnerpfad Customerinfo 
     directoryContentCustomerinfo = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dataPathCustomerinfo error:&error]; 
     numberOfFileInFolderCustomerinfo = [directoryContentCustomerinfo count]; 
     // NSLog(@"Pfad %i",numberOfFileInFolderCustomerinfo); 

      /////URL Abfrage Customerinfo 


      if (numberOfFileInFolderCustomerinfo >= 0) { 
       int anz = numberOfFileInFolderCustomerinfo+1;      
       URLCustomerinfo = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.mydomain.org/assets/Uploads/csv/customerinfo/%i_..customerinfo.csv",anz]]; 

       if (URLCustomerinfo) { 
        NSLog(@"File download"); 

        NSURLRequest *request = [NSURLRequest requestWithURL:URLCustomerinfo]; 
        downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) { 

         NSURL *documentsDirectoryPath = [NSURL fileURLWithPath:dataPathCustomerinfo]; 

         return [documentsDirectoryPath URLByAppendingPathComponent:[response suggestedFilename]]; 
        }completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { 
         NSLog(@"File download to: %@",filePath); 
        }]; 

        [downloadTask resume]; 

       } else { 
        NSLog(@"nothing for download"); 
       } 

       NSLog(@"file in folder customerinfo: %i",anz); 
      } 
+0

是,告訴你一個html文件,出事了? 404代碼,50x代碼。 – vikingosegundo

+0

btw:如果api,block或方法調用確實爲您提供錯誤對象,則應該使用它。 – vikingosegundo

+0

實際上它說沒有文件,但在第三次啓動應用程序時,它會下載具有較高編號的文件,但這不在服務器上。所以它下載的HTML。 – deni

回答

0

it says there is no file on the remote server. this is true. but why does it although download a file with html code?

Web服務器通常也顯示一些錯誤的網站,在下載可能是由一個真正的人的用戶在顯示器前面被觸發。他不會注意到錯誤標題。
您正在保存的此網站。

設計該類的Apple工程師得出的結論是,錯誤處理可能與用例不同,因爲該類不會爲您刪除文件,就像在另一個用例中,您可能有可恢復的錯誤。

只需使用文件路徑中完成塊刪除的文件

+0

好的,我明白,非常感謝你的幫助。 – deni

+0

//我找到了一個好的解決方案: //詢問負責代碼.... NSHTTPURLResponse * urlResponse = nil; NSError * error = nil; responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; NSLog(@「response Data%d」,urlResponse.statusCode); //然後AKS響應代碼之後: 如果(urlResponse.statusCode == 404){ 的NSLog(@ 「布爾假nichts的Zum下載」); (urlResponse.statusCode == 200){ [downloadTask resume];其他if(urlResponse.statusCode == 200){ } } – deni