Как можно считать тип MIME файлов в цели-c

открытая диаграмма флэш-памяти , потому что Вы не можете изменить размеры .png и .png, не имеет никаких подсказок. Также, почему Вы отправили бы все свои данные Google? Вы доверяете им так очень?

31
задан coneybeare 1 September 2009 в 18:03
поделиться

3 ответа

It's a bit hacky, but it should work, don't know for sure because I'm just guessing at it

There are two options:

  1. If you just need the MIME type, use the timeoutInterval: NSURLRequest.
  2. If you want the data as well, you should use the commented out NSURLRequest.

Make sure to perform the request in a thread though, since it's synchronous.

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"imagename" ofType:@"jpg"];
NSString* fullPath = [filePath stringByExpandingTildeInPath];
NSURL* fileUrl = [NSURL fileURLWithPath:fullPath];
//NSURLRequest* fileUrlRequest = [[NSURLRequest alloc] initWithURL:fileUrl];
NSURLRequest* fileUrlRequest = [[NSURLRequest alloc] initWithURL:fileUrl cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:.1];

NSError* error = nil;
NSURLResponse* response = nil;
NSData* fileData = [NSURLConnection sendSynchronousRequest:fileUrlRequest returningResponse:&response error:&error];

fileData; // Ignore this if you're using the timeoutInterval
          // request, since the data will be truncated.

NSString* mimeType = [response MIMEType];

[fileUrlRequest release];
55
ответ дан 27 November 2019 в 21:24
поделиться

В Mac OS X это будет обрабатываться через LaunchServices и UTI. На iPhone они недоступны. Поскольку единственный способ попасть в вашу песочницу - это поместить их туда, большинство приложений обладают внутренними знаниями о данных любого файла, который они могут прочитать.

Если вам нужна такая функция, вы должны ] файл запрос функции с Apple.

1
ответ дан 27 November 2019 в 21:24
поделиться

Я не уверен, что это практика на iPhone, но если вам позволено, я бы использовал здесь философию UNIX: используйте программу file , которая является стандартным способом определения типа файла в операционной системе UNIX. Он включает в себя обширную базу данных волшебных маркеров для определения типов файлов. Поскольку файл , вероятно, не поставляется на iPhone, вы можете включить его в свой пакет приложений. Может существовать библиотека, реализующая функции файла .

В качестве альтернативы, вы можете доверять браузеру. Браузеры отправляют MIME-тип, который они угадали, где-то в заголовках HTTP. Я знаю, что могу легко получить информацию о типе MIME в PHP. Это, конечно, зависит от того, готовы ли вы доверять клиенту.

0
ответ дан 27 November 2019 в 21:24
поделиться