我有NSURL变量,其中包含不同的Web链接。我想检测包含此链接的文件的类型(如果它包含任何链接)。 例如,这是pdf文件:https://vk.com/doc-105831417_445462965 如何在代码中检测到这是PDF文件或其他类型的文件(例如ZIP,doc)? 我有这个代码,但它只适用于硬件上的文件:
CFStringRef fileExtension = (__bridge CFStringRef) [filePath pathExtension];
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);
if([self ifZip:filePath]){
return ACFileTypeZIP;
}
if (UTTypeConformsTo(fileUTI, kUTTypeMovie)){
return ACFileTypeZIP;
}else if (UTTypeConformsTo(fileUTI, kUTTypePDF)){
return ACFileTypeDocument;
}else if (UTTypeConformsTo(fileUTI, kUTTypeImage)){
return ACFileTypeImage;
}else if (UTTypeConformsTo(fileUTI, kUTTypeAudio)){
return ACFileTypeAudio;
}
CFRelease(fileUTI);
注意ACFileType是我的类型枚举.ifZip是我检测zip文件的方法:
-(BOOL)ifZip:(NSString*)path{
NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:path];
NSData *data = [fh readDataOfLength:4];
if ([data length] == 4) {
const char *bytes = [data bytes];
if (bytes[0] == 'P' && bytes[1] == 'K' && bytes[2] == 3 && bytes[3] == 4) {
return YES;
}
}
return NO;}
答案 0 :(得分:0)
我认为它应该有效:
func (c App) Index() revel.Result {
dat := c.Params.Form.Get(doIt);
return c.Render(dat)
}