使用 UIWebView 查看大型 (~1GB) 文档、音频或视频文件
Viewing large (~1GB) Document, audio or video files using UIWebView
在 UIWebView
中查看大型(至少 1gb)文档、音频和视频文件时出现问题。
我想问问有什么方法可以查看这些大文件,因为苹果设备的平均内存只有 1GB,因此应该无法查看更大的文件(更不用说内存消耗了OS 本身和其他后台任务)。
我可以在 iPhone 电影播放器中观看大型(~2gb)电影,但在使用 webview 时不能在我的应用程序中观看,所以我认为应该有办法做到这一点,但找不到求建议的网站。
有了它应该是可能的,那么有什么办法可以做到这一点,因为 webview 似乎无法处理大文件因为它肯定会 运行 内存不足 .
我需要能够将文件作为 NSData
传递,因为设备中的文件已加密并且必须始终保持这种状态。
这是我显示 audio/video 个文件的方式:
NSString *contentType = [MIMETypeToFileExtViceVersaConverter convertFileExtensionToMimeType:shareWithObject.fileExtension];
NSString *base64String = [fileData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSString *str = [NSString stringWithFormat:@" \
<html><head></head><body style=\"margin:0;width:100%%;height:100%%;\">\
<video controls height=\"100%%\" width=\"100%%\"> \
<source type=\"%@\" src=\"data:%@;base64,%@\"> \
</video></body></html>", contentType, contentType, base64String];
[self.webView loadHTMLString:str baseURL:[[NSBundle mainBundle] resourceURL]];
这是文档文件:
NSString *contentType = [MIMETypeToFileExtViceVersaConverter convertFileExtensionToMimeType:shareWithObject.fileExtension];
[self.webView loadData:fileData MIMEType:contentType textEncodingName:@"UTF-8" baseURL:[[NSBundle mainBundle] resourceURL]];
使用 UIWebView 的 loadData
功能时,这是不可能的。我们必须限制可以查看的文档的大小,以防止与内存不足相关的崩溃。
希望以后能有这个问题的解决方案,我会把这个答案的答案奖移到对这个问题有正确答案的那个
在 UIWebView
中查看大型(至少 1gb)文档、音频和视频文件时出现问题。
我想问问有什么方法可以查看这些大文件,因为苹果设备的平均内存只有 1GB,因此应该无法查看更大的文件(更不用说内存消耗了OS 本身和其他后台任务)。
我可以在 iPhone 电影播放器中观看大型(~2gb)电影,但在使用 webview 时不能在我的应用程序中观看,所以我认为应该有办法做到这一点,但找不到求建议的网站。
有了它应该是可能的,那么有什么办法可以做到这一点,因为 webview 似乎无法处理大文件因为它肯定会 运行 内存不足 .
我需要能够将文件作为 NSData
传递,因为设备中的文件已加密并且必须始终保持这种状态。
这是我显示 audio/video 个文件的方式:
NSString *contentType = [MIMETypeToFileExtViceVersaConverter convertFileExtensionToMimeType:shareWithObject.fileExtension];
NSString *base64String = [fileData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSString *str = [NSString stringWithFormat:@" \
<html><head></head><body style=\"margin:0;width:100%%;height:100%%;\">\
<video controls height=\"100%%\" width=\"100%%\"> \
<source type=\"%@\" src=\"data:%@;base64,%@\"> \
</video></body></html>", contentType, contentType, base64String];
[self.webView loadHTMLString:str baseURL:[[NSBundle mainBundle] resourceURL]];
这是文档文件:
NSString *contentType = [MIMETypeToFileExtViceVersaConverter convertFileExtensionToMimeType:shareWithObject.fileExtension];
[self.webView loadData:fileData MIMEType:contentType textEncodingName:@"UTF-8" baseURL:[[NSBundle mainBundle] resourceURL]];
使用 UIWebView 的 loadData
功能时,这是不可能的。我们必须限制可以查看的文档的大小,以防止与内存不足相关的崩溃。
希望以后能有这个问题的解决方案,我会把这个答案的答案奖移到对这个问题有正确答案的那个