iPhone - возможно ли удалить файл xml на сервере после его анализа - PullRequest
1 голос
/ 23 июля 2010

Я в настоящее время анализирую xml-файл, который размещен на другом ПК, через хост HTTP-сервера Apache, который работает нормально.Теперь можно ли кодировать его таким образом, чтобы iPhone удалял xml-файл на этом компьютере?

im, в настоящее время использующий NSMutableURLRequest и устанавливающий для него NSData.

NSError * error; 
NSURLResponse * response;

NSMutableURLRequest *request =
    [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://ipaddress/UserBedData.xml"]
                            cachePolicy:NSURLRequestReloadIgnoringCacheData
                        timeoutInterval:5.0];
[request setHTTPMethod:@"GET"];         
NSData * responseData = [NSURLConnection sendSynchronousRequest:request
                                              returningResponse:&response
                                                          error:&error];
xmlParser = [[NSXMLParser alloc] initWithData:responseData];

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

Насколько вы контролируете этот другой сервер?Я предполагаю, что у вас есть полный доступ.

Попробуйте просто периодически очищать XML.Запускайте задание cron и удаляйте файлы каждый час после того, как узнаете, что они больше не нужны.Возможно, создайте список на бэкэнде, который будет регистрировать доступ к данным, чтобы его можно было безопасно истечь.

Без дополнительных подробностей о том, что вы делаете, этот подход трудно сузить.Почему вы не можете разобрать XML на iPhone, например?Могут ли потоки XML генерироваться динамически, поэтому нет файла для очистки?Откуда поступают данные XML?Это не обязательно ситуация, когда размещение вашего кода поможет.Вы должны уточнить, как все эти элементы сочетаются друг с другом (приложение iPhone, удаленный сервер, данные) и что вы пытаетесь достичь.

Это даже коллекция файлов XML?Или это всегда один и тот же?Если это всего лишь один файл, зачем его удалять?Просто перезапишите старый, когда он будет восстановлен (и отметьте его где-нибудь, чтобы клиент, который скачивает его, знал, когда он действительно устарел).

2 голосов
/ 23 июля 2010

Только если сервер это позволяет.Если на веб-сервере правильно настроен WebDAV, то должен это сделать глагол DELETE с URL-адресом файла (при условии, что вы предоставили соответствующие учетные данные, так как не рекомендуется разрешать удаление контента кому-либо).почти идентичен для получения.Просто замените "GET" на "DELETE" и проигнорируйте возвращенный контент.Однако существует вопрос аутентификации, который обычно не имеет значения при чтении веб-сайта, но имеет большое значение, когда вы хотите удалить какой-либо контент с веб-сайта.Боюсь, я не могу помочь тебе в этом.Также рассмотрите ответ @ joost, который, вероятно, безопаснее, чем разрешать клиентам удалять содержимое на сервере.

...