相关疑难解决方法(0)

iPhone和GZip

现在我知道xCode会自动为你做GZip decrompession:

NSData *data = [NSData dataWithContentsOfURL:URL];
Run Code Online (Sandbox Code Playgroud)

如果我指向我服务器上的Gzip文件,它确实有效.但由于我的内容是动态的,我有一个PHP脚本,而不是像这样创建一个gzip文件:

$zp   = gzopen($file, "r");
$data = gzread($zp, $filesize);
gzclose($zp);
Run Code Online (Sandbox Code Playgroud)

我用以下代码编码自己的数据:

echo gzencode($data, 9);
Run Code Online (Sandbox Code Playgroud)

有了这个,我添加以下标题:

header("Content-Type: application/x-gzip");
header("Content-Encoding: gzip");
header("Accepts-Encoding: gzip");
Run Code Online (Sandbox Code Playgroud)

当我浏览到URL时,我的浏览器想要自动下载文件,我可以在Mac上解压缩并查看它的内容.但是,当我尝试通过xCode读取它时,它将无法正常工作.

NSData *data = [NSData dataWithContentsOfURL:URL];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog (content); //returns only data when pointed directly to a Gzip file
Run Code Online (Sandbox Code Playgroud)

我忘记了什么吗?

iphone gzip nsdata

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

gzip ×1

iphone ×1

nsdata ×1